Model classes for policies #1831
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.11' | |
- '3.12' | |
exclude: | |
- os: macos-latest | |
python-version: 3.11 | |
- os: windows-latest | |
python-version: 3.11 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install conda environment on Windows | |
if: runner.os == 'Windows' | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
init-shell: powershell | |
environment-file: environment.yml | |
environment-name: gettsim | |
cache-environment: true | |
micromamba-version: 1.5.6-0 | |
create-args: >- | |
python=${{ matrix.python-version }} | |
- name: Install conda environment on Unix | |
if: runner.os != 'Windows' | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
init-shell: bash | |
environment-file: environment.yml | |
environment-name: gettsim | |
cache-environment: true | |
create-args: >- | |
python=${{ matrix.python-version }} | |
jax | |
- name: Run tests with NumPy backend on Linux | |
# Ignore MacOS for being slow -- no reason that would break if Jax works. | |
if: runner.os == 'Linux' | |
run: pytest --cov=./ --cov-report=xml | |
shell: bash -el {0} | |
- name: Run tests with NumPy backend on Windows | |
# No JAX on Windows. | |
if: runner.os == 'Windows' | |
run: pytest src/_gettsim_tests | |
shell: pwsh | |
- name: Run tests with JAX backend | |
# No JAX on Windows. | |
# TODO: remove exclusion of Linux once --use-jax is fixed. | |
if: runner.os != 'Windows' && runner.os != 'Linux' | |
run: pytest src/_gettsim_tests | |
# 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.python-version == '3.12' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} |