Skip to content

ci: add MSRV verification for Rust 1.85#26

Open
don-petry wants to merge 1 commit intooneirosoft:mainfrom
don-petry:ci/msrv-check
Open

ci: add MSRV verification for Rust 1.85#26
don-petry wants to merge 1 commit intooneirosoft:mainfrom
don-petry:ci/msrv-check

Conversation

@don-petry
Copy link
Copy Markdown
Contributor

@don-petry don-petry commented Mar 31, 2026

Why?

Without an explicit MSRV (minimum supported Rust version), contributors can unknowingly use newer language features that break the build for users on older toolchains. Declaring and testing the MSRV in CI catches these regressions before they're merged.

Summary

  • Add rust-version = "1.85" to Cargo.toml to declare the minimum supported Rust version
  • Add a dedicated msrv job to the CI workflow that runs cargo check with Rust 1.85
  • Ensures future changes don't accidentally require a newer Rust version

Addresses item 4 in #11.

Test plan

  • CI msrv job passes with Rust 1.85
  • Existing verify job remains unaffected

🤖 Generated with Claude Code

Add rust-version = "1.85" to Cargo.toml and a dedicated MSRV check job
in the CI workflow to ensure we don't accidentally raise the minimum
supported Rust version.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 31, 2026 02:48
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

This PR adds an explicit Minimum Supported Rust Version (MSRV) to the project and enforces it in CI to prevent accidental adoption of newer Rust features than intended.

Changes:

  • Declare rust-version = "1.85" in Cargo.toml.
  • Add an msrv CI job that runs cargo check --locked --all-targets using Rust 1.85.
  • Keep the existing verify job unchanged (still runs fmt/check/test on stable).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Cargo.toml Declares MSRV (rust-version = "1.85") in the package manifest.
.github/workflows/ci.yml Adds a dedicated MSRV job pinned to Rust 1.85 running cargo check.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor Author

@don-petry don-petry left a comment

Choose a reason for hiding this comment

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

Automated review — NEEDS HUMAN REVIEW

Risk: LOW
Reviewed commit: 590d83c2afa3cac616b2909e2ad981c5cd31b80f
Cascade: triage → deep (see triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6 for models)

Summary

This PR makes a low-risk CI/metadata-only change: it adds rust-version = "1.85" to Cargo.toml and a dedicated MSRV check job to the CI workflow, correctly addressing issue #11 item 4. No security concerns exist, but the PR cannot be merged as-is due to a conflict with the base branch, and CI check results are absent — both are gate failures that require resolution before approval.

Findings

Major

  • [major] merge-conflict — PR has a merge conflict with the base branch (mergeable=CONFLICTING, mergeStateStatus=DIRTY). Author must rebase or merge main before this can land.
  • [major] ci-status — statusCheckRollup is empty — no CI results are available. It is unclear whether the MSRV job itself passes on Rust 1.85, which is the primary goal of this PR. CI must pass before merging.

Info

  • [info] .github/workflows/ci.yml — MSRV of 1.85 is correct: Rust edition 2024 (declared in Cargo.toml) requires exactly 1.85+. The new job uses dtolnay/rust-toolchain@1.85 and cargo check --locked --all-targets, which is the canonical MSRV verification approach.
  • [info] .github/workflows/ci.yml — Action refs use mutable tags (@v5, @v2, @1.85) rather than pinned SHA digests, but this is consistent with the existing workflow and not introduced by this PR. Consider a follow-up to pin all actions to SHAs.
  • [info] .github/workflows/ci.yml — The new msrv job inherits the top-level permissions: contents: read and accesses no secrets. Security footprint is minimal — only cargo check (read-only source analysis).

CI status

No CI results available (statusCheckRollup is empty). CI must pass before merging.


Reviewed by the don-petry PR-review cascade (triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6). Reply with @don-petry if you need a human.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants