Switch to pixi #338
Workflow file for this run
This file contains 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: main | |
# Automatically cancel a previous run. | |
concurrency: | |
group: ${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
run-tests: | |
name: Run tests for ${{ matrix.os }} on ${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
python-version: | |
- '3.12' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.23.0 | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
environments: test-cpu | |
activate-environment: true | |
- name: Run pytest | |
shell: bash -l {0} | |
# Cannot use `pixi run -e test-cpu tests` because the test-cpu environment | |
# overlaps with the test-gpu environment, which is erroneously checked and | |
# fails on CI because CUDA12 is not installed. Therefore we run pytest directly | |
# inside the activated test-cpu environment. | |
run: pytest tests --cov-report=xml --cov=./ | |
- name: Upload coverage report | |
if: runner.os == 'Linux' && matrix.python-version == '3.12' | |
uses: codecov/codecov-action@v4 | |
run-mypy: | |
name: Run mypy on Python 3.12 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.23.0 | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
environments: mypy | |
- name: Run mypy | |
shell: bash -l {0} | |
run: pixi run mypy |