Skip to content

gamma and invariant #50

gamma and invariant

gamma and invariant #50

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_call:
jobs:
versions:
name: Version consistency
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: bash scripts/check-versions.sh
rust:
name: Rust tests (${{ matrix.rust }})
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable, beta]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.rust }}
- run: make test
working-directory: nj
simd-nightly:
name: SIMD kernel (nightly)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# The published PyPI wheels enable `nj/simd` (the explicit core::simd
# `portable_simd` kernel). This job guards that path against bit-rot and
# confirms it stays bit-identical to the scalar kernel (same unit/proptest/
# golden assertions). Pinned to match the wheel build in release.yml — bump
# both together.
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-06-02
- uses: Swatinem/rust-cache@v2
with:
key: nightly-simd
- run: cargo test --features simd
working-directory: nj
wasm:
name: WASM tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
workspaces: wasm -> wasm/target
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: wasm/package-lock.json
- run: npm ci
working-directory: wasm
- run: make
working-directory: wasm
- run: make test
working-directory: wasm
python:
name: Python tests (${{ matrix.python }})
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: python -> python/target
key: ${{ matrix.python }}
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- uses: astral-sh/setup-uv@v5
- run: make test
working-directory: python