Skip to content

Test

Test #86

Workflow file for this run

name: Test
# First CI for this repo: run the test suite on every push and PR across the
# supported CPython range (the floor is 3.11; the ceiling tracks the Pyodide
# target's CPython, currently 3.14). Engine-dependent compile tests skip
# automatically on the runner (no engine checkout / no Eigen / no compiler env).
on:
push:
pull_request:
permissions:
contents: read
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
pytest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]
env:
PYTHONHASHSEED: "0" # determinism; lockstep with the Phase 2 Pyodide gate
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: ${{ matrix.python-version }}
- name: Install (with dev extras)
run: python -m pip install -e ".[dev]"
- name: Run test suite
# No engine present on the runner -> compile tests skip via
# pytest.mark.skipif(not have_compile_env()). This validates the
# pure-Python transpile path across the matrix.
run: python -m pytest -q