CI #448
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: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
schedule: | |
- cron: '30 12 * * 0' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
reuse: | |
name: Licensing (REUSE) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: fsfe/reuse-action@v4 | |
typos: | |
name: Spelling (typos) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: crate-ci/typos@master | |
sphinxlint: | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
name: Linting (doc8) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.13' | |
cache: 'pip' | |
cache-dependency-path: 'requirements-dev.txt' | |
- name: Main Script | |
run: | | |
make pip-install | |
make doc8 | |
ruff: | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
name: Linting (ruff) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.13' | |
cache: 'pip' | |
cache-dependency-path: 'requirements-dev.txt' | |
- name: Main Script | |
run: | | |
make pip-install | |
make ruff | |
mypy: | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
name: Annotations (mypy) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.13' | |
cache: 'pip' | |
cache-dependency-path: 'requirements-dev.txt' | |
- name: Main Script | |
run: | | |
make pip-install | |
make mypy | |
pytest: | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
name: Tests (pytest-${{ matrix.python-version }}-float${{ matrix.jax_default_bits }}) | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.10', '3.11', '3.12', '3.13'] | |
jax_default_bits: [32, 64] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
cache-dependency-path: 'requirements-dev.txt' | |
- name: Main Script | |
env: | |
JAX_DEFAULT_DTYPE_BITS: ${{ matrix.jax_default_bits }} | |
run: | | |
make pip-install | |
make test | |
examples: | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
name: Examples | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.13' | |
cache: 'pip' | |
cache-dependency-path: 'requirements-dev.txt' | |
- name: Main Script | |
run: | | |
make pip-install | |
make run-examples | |
make run-drivers | |
# vim: set ts=2 sw=2 et: |