Namespaces #1870
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.environment }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
environment: | |
- py311 | |
- py312 | |
# - py312-jax | |
exclude: | |
- os: macos-latest | |
environment: py311 | |
- os: windows-latest | |
environment: py311 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.37.0 | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
frozen: true | |
environments: ${{ matrix.environment }} | |
- name: Run tests on Linux (with NumPy backend) | |
# Ignore MacOS for being slow -- no reason that would break if JAX works. | |
if: runner.os == 'Linux' | |
run: pixi run -e ${{ matrix.environment }} pytest --cov=./ --cov-report=xml | |
shell: bash -el {0} | |
- name: Configure dot on macOS | |
if: runner.os == 'macOS' | |
run: pixi run -e ${{ matrix.environment }} dot -c | |
- name: Run tests on macOS & Windows (with JAX backend) | |
# TODO: remove exclusion of Linux once --use-jax is fixed. | |
if: runner.os != 'Linux' | |
run: pixi run -e ${{ matrix.environment }} pytest | |
# TODO: add to the end of previous line to actually run with Jax backend | |
# --use-jax | |
shell: bash -el {0} | |
- name: Upload coverage reports | |
if: runner.os == 'Linux' && matrix.environment == 'py312' | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} |