Skip to content

F-007: ci: add dedicated MSRV (1.94) verification job#13

Merged
Sephyi merged 1 commit into
developmentfrom
audit/f-007-stable-msrv-ci-job
Apr 30, 2026
Merged

F-007: ci: add dedicated MSRV (1.94) verification job#13
Sephyi merged 1 commit into
developmentfrom
audit/f-007-stable-msrv-ci-job

Conversation

@Sephyi
Copy link
Copy Markdown
Owner

@Sephyi Sephyi commented Apr 22, 2026

Summary

ci: add dedicated MSRV (1.94) verification job.

Audit context

Closes audit entry F-007 from #3.

Verification

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets

Note: one pre-existing test porcelain_exits_within_timeout_with_no_staged_changes is a known macOS cold-start flake that reproduces on unmodified development — unrelated to this change.

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.
Copilot AI review requested due to automatic review settings April 22, 2026 19:50
@Sephyi Sephyi added the audit Codebase audit cleanup (issue #3) label Apr 22, 2026
@Sephyi Sephyi self-assigned this Apr 22, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_TOOLCHAIN env var and update the msrv job 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.

Comment thread .github/workflows/ci.yml
Comment on lines +23 to +24
RUST_TOOLCHAIN: "stable"
MSRV_TOOLCHAIN: "1.94"
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
@Sephyi Sephyi merged commit e0d6f19 into development Apr 30, 2026
4 of 5 checks passed
@Sephyi Sephyi deleted the audit/f-007-stable-msrv-ci-job branch April 30, 2026 16:17
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

audit Codebase audit cleanup (issue #3)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants