Skip to content

[MRG] pre-commit with ruff,codespell,yamlint #2677

[MRG] pre-commit with ruff,codespell,yamlint

[MRG] pre-commit with ruff,codespell,yamlint #2677

Workflow file for this run

name: Tests
on:
workflow_dispatch:
pull_request:
branches:
- 'master'
push:
branches:
- 'master'
create:
branches:
- 'master'
tags:
- '**'
jobs:
Lint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
defaults:
run:
shell: bash -l {0}
steps:
- name: Checking Out Repository
uses: actions/checkout@v2
# Install Python & Packages
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- run: which python
- name: Lint with pre-commit
run: |
pip install pre-commit
pre-commit install --install-hooks
pre-commit run --all-files
linux:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install POT
run: |
pip install -e .
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
pip install -r requirements_all.txt
pip install pytest pytest-cov
- name: Run tests
run: |
python -m pytest --durations=20 -v test/ ot/ --doctest-modules --color=yes --cov=./ --cov-report=xml
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
linux-minimal-deps:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
pip install pytest pytest-cov
- name: Install POT
run: |
pip install -e .
- name: Run tests
run: |
python -m pytest --durations=20 -v test/ ot/ --color=yes --cov=./ --cov-report=xml
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
macos:
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
os: [macos-latest, macos-13]
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install POT
run: |
pip install -e .
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
pip install -r requirements_all.txt
pip install pytest
- name: Run tests
run: |
python -m pytest --durations=20 -v test/ ot/ --color=yes
windows:
runs-on: windows-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: RC.exe
run: |
function Invoke-VSDevEnvironment {
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$installationPath = & $vswhere -prerelease -legacy -latest -property installationPath
$Command = Join-Path $installationPath "Common7\Tools\vsdevcmd.bat"
& "${env:COMSPEC}" /s /c "`"$Command`" -no_logo && set" | Foreach-Object {
if ($_ -match '^([^=]+)=(.*)') {
[System.Environment]::SetEnvironmentVariable($matches[1], $matches[2])
}
}
}
Invoke-VSDevEnvironment
Get-Command rc.exe | Format-Table -AutoSize
- name: Update pip
run : |
python -m pip install --upgrade pip setuptools
python -m pip install cython
- name: Install POT
run: |
python -m pip install -e .
- name: Install dependencies
run: |
python -m pip install -r .github/requirements_test_windows.txt
python -m pip3 install torch torchvision torchaudio
python -m pip install pytest
- name: Run tests
run: |
python -m pytest --durations=20 -v test/ ot/ --color=yes