-
Notifications
You must be signed in to change notification settings - Fork 261
ci: add Rust version matrix (MSRV 1.89, stable, nightly) #1118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 a Rust version matrix testing strategy to the CI pipeline, enabling the codebase to be tested against MSRV (1.88), stable, and nightly Rust versions. The MSRV is set to 1.88 due to transitive dependencies through wasm-pack requiring the home crate version 0.5.12, which mandates Rust 1.88+.
Key Changes
- Declared
rust-version = "1.88"in workspaceCargo.tomlto specify the Minimum Supported Rust Version - Added MSRV environment variable and matrix strategy to CI jobs:
check,test,testnorayon,testother,examples,clippy, andformat - Enhanced Rust cache configuration with matrix-specific keys to prevent cache conflicts
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Cargo.toml | Added rust-version = "1.88" field to workspace package configuration with documentation explaining the MSRV requirement |
| .github/workflows/lint-and-test.yml | Added MSRV environment variable and implemented matrix strategy across 7 jobs to test on msrv/stable/nightly versions; includes version determination logic and cache key differentiation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6676747 to
7e281ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7e281ed to
9c315a9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1118 +/- ##
==========================================
- Coverage 96.45% 96.44% -0.02%
==========================================
Files 293 290 -3
Lines 52149 51715 -434
==========================================
- Hits 50301 49875 -426
+ Misses 1848 1840 -8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add `rust-version = "1.89"` to workspace `Cargo.toml` to declare the Minimum Supported Rust Version - Update CI jobs to test against MSRV, stable, and nightly Rust versions using a matrix strategy - Jobs with matrix: `check`, `test`, `testnorayon`, `testother`, `examples` - `clippy` and `format` use `rust-toolchain.toml` (Rust 1.91.1) for consistent lints - `udeps` remains nightly-only (required by the tool) - Add aggregate jobs "Check Package" and "Test Suite" for branch protection - Non-Rust jobs unchanged: `foundrycheck`, `rustevmtests`, `check-yul-preprocessor` ### Why MSRV 1.89? `cargo install wasm-pack` (without `--locked`) can resolve to `home 0.5.12`, which inherits cargo's workspace MSRV of 1.89. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
2e08e02 to
89741ef
Compare
Summary
rust-version = "1.89"to workspaceCargo.tomlto declare the Minimum Supported Rust Versioncheck,test,testnorayon,testother,examplesclippyandformatuserust-toolchain.toml(Rust 1.91.1) for consistent lintsudepsremains nightly-only (required by the tool)foundrycheck,rustevmtests,check-yul-preprocessorWhy MSRV 1.89?
cargo install wasm-pack(without--locked) can resolve tohome 0.5.12, which inherits cargo's workspace MSRV of 1.89.Test plan
clippyandformatjobs userust-toolchain.toml(Rust 1.91.1)udepsjob continues to work with nightly only🤖 Generated with Claude Code