F-007: ci: add dedicated MSRV (1.94) verification job#13
F-007: ci: add dedicated MSRV (1.94) verification job#13Sephyi wants to merge 1 commit intodevelopmentfrom
Conversation
The existing CI pipeline pinned every job to the same toolchain (`1.94.0`), which meant the `msrv` job did not actually verify the MSRV floor independently — it just ran the same Rust against the same build as `clippy` and `test`. Split the toolchain into two env vars: - `RUST_TOOLCHAIN: stable` for fmt/clippy/test/test-eval (latest) - `MSRV_TOOLCHAIN: "1.94"` for the dedicated `msrv` job Also adjust the `msrv` job so it: - Uses the pinned MSRV toolchain explicitly - Runs with `--all-features --all-targets` to ensure every feature path compiles against the floor - Runs in parallel with other jobs (removed the `needs: fmt` dependency so it cannot be masked by an upstream failure) `cargo check` is kept (vs `cargo test`) since checking is sufficient to prove the MSRV floor compiles without bloating CI runtime. Closes audit entry F-007 from #3.
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions CI workflow to properly verify the project’s Minimum Supported Rust Version (MSRV) independently from the main CI toolchain, aligning with the audit finding F-007 and the PRD’s “stable + MSRV” CI matrix goal.
Changes:
- Switch primary CI toolchain from a pinned Rust version to
stable. - Add
MSRV_TOOLCHAINenv var and update themsrvjob to use it. - Expand the MSRV job to
cargo check --all-features --all-targets.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| RUST_TOOLCHAIN: "stable" | ||
| MSRV_TOOLCHAIN: "1.94" |
There was a problem hiding this comment.
The PR description/title focus on adding a dedicated MSRV verification job, but this diff also changes the primary CI toolchain for fmt/clippy/test from a pinned 1.94.0 to floating stable. That’s a meaningful behavior change (CI will now track latest stable) and should be called out explicitly in the PR description (or the workflow should keep using the pinned toolchain if that change is unintended).
Summary
ci: add dedicated MSRV (1.94) verification job.
Audit context
Closes audit entry F-007 from #3.
Verification
cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo test --all-targets