Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,34 @@ jobs:
- name: Run Rust tests
run: cargo test --workspace

msrv:
name: MSRV (rust-version) check
runs-on: ubuntu-latest
env:
# rust-toolchain.toml pins stable for contributors; override here
# so the MSRV job actually exercises the declared minimum. Keep
# this in sync with `rust-version` in the workspace Cargo.toml.
RUSTUP_TOOLCHAIN: "1.88"
steps:
- uses: actions/checkout@v6

- name: Install MSRV toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.88"

- uses: Swatinem/rust-cache@v2.9.1
with:
prefix-key: v0-rust-msrv
save-if: ${{ github.ref == 'refs/heads/main' }}

- name: Compile-check workspace on MSRV
# `--locked` keeps the MSRV deterministic: versions resolve from
# the committed Cargo.lock rather than the latest compatible
# crates.io release, so the declared MSRV stays honest until a
# deliberate `cargo update` changes the lockfile.
run: cargo check --workspace --locked

test:
needs: lint
strategy:
Expand All @@ -79,6 +107,13 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2.9.1
with:
# Share one Rust cache across the two Python versions —
# pyo3 / abi3 builds don't vary by Python minor version.
shared-key: maturin-${{ matrix.os }}
# Keep the total-cache quota under control: only the main
# branch writes new cache entries; PRs read-only.
save-if: ${{ github.ref == 'refs/heads/main' }}

- uses: astral-sh/setup-uv@v7
with:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Rust
target/
Cargo.lock

# Python
__pycache__/
Expand Down
Loading
Loading