Fix plotting tests (#284) #791
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Python package | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] | |
| # NOTE(stes): We test against the oldest still supported version of python (3.10), | |
| # the python version of the latest Ubuntu LTS release (3.12) | |
| # and the latest python version CEBRA supports fully (3.13). | |
| # | |
| # Python version chart: | |
| # https://devguide.python.org/versions/ | |
| # Python Ubuntu LTS: | |
| # https://documentation.ubuntu.com/ubuntu-for-developers/reference/availability/python/ | |
| python-version: ["3.10", "3.12", "3.13"] | |
| # We aim to support the versions on pytorch.org | |
| # as well as selected previous versions on | |
| # https://pytorch.org/get-started/previous-versions/ | |
| torch-version: ["2.6.0", "2.9.1"] | |
| sklearn-version: ["latest"] | |
| include: | |
| # windows test with standard config | |
| - os: windows-latest | |
| torch-version: 2.6.0 | |
| python-version: "3.12" | |
| sklearn-version: "latest" | |
| # legacy sklearn (several API differences) | |
| - os: ubuntu-latest | |
| torch-version: 2.6.0 | |
| python-version: "3.12" | |
| sklearn-version: "legacy" | |
| # TODO(stes): latest torch and python | |
| # requires a PyTables release compatible with | |
| # python 3.14. Update when new version is released. | |
| #- os: ubuntu-latest | |
| # torch-version: 2.9.1 | |
| # python-version: "3.14" | |
| # sklearn-version: "latest" | |
| # legacy support | |
| - os: ubuntu-latest | |
| torch-version: 2.4.0 | |
| python-version: "3.10" | |
| sklearn-version: "legacy" | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Cache dependencies | |
| id: pip-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: pip-os_${{ runner.os }}-python_${{ matrix.python-version }}-torch_${{ matrix.torch-version }}-sklearn_${{ matrix.sklearn-version }} | |
| - name: Checkout code | |
| uses: actions/checkout@v2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/cpu | |
| pip install '.[dev,datasets,integrations]' | |
| - name: Check sklearn legacy version | |
| if: matrix.sklearn-version == 'legacy' | |
| run: | | |
| pip install scikit-learn==1.4.2 '.[dev,datasets,integrations]' | |
| - name: Run the formatter | |
| run: | | |
| make format | |
| - name: Run the spelling detector | |
| run: | | |
| make codespell | |
| - name: Check the documentation coverage | |
| run: | | |
| make interrogate | |
| - name: Check CITATION.cff validity | |
| run: | | |
| cffconvert --validate | |
| - name: Check that no binary files have been added to repo | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| make check_for_binary | |
| - name: Run pytest tests | |
| timeout-minutes: 15 | |
| run: | | |
| make test | |
| - name: Build package | |
| run: | | |
| make build | |
| - name: Check reinstall script | |
| timeout-minutes: 10 | |
| run: | | |
| ./reinstall.sh |