ci: pin the Rust toolchain (stable 1.96.0 + a pinned nightly), drop MSRV#159
Merged
Conversation
1140a73 to
0d03441
Compare
luca-iachini
approved these changes
Jun 16, 2026
Pins the toolchain so local and CI build with the identical compiler, instead of floating on whatever 'stable'/'nightly' is current that day (which, with clippy -D warnings, lets a new release break unrelated PRs). - rust-toolchain.toml: channel 1.96.0 + clippy/rustfmt components (stable pin) - .rust-nightly: the pinned nightly, single source of truth referenced by both the Makefile (fuzz-check) and the fuzz CI jobs, which select it explicitly with `cargo +$(cat .rust-nightly)` since the root stable pin would otherwise win in the fuzz workspace - Cargo.toml: remove rust-version (MSRV) from the workspace and all members - workflows: dtolnay/rust-toolchain -> actions-rust-lang/setup-rust-toolchain, which reads rust-toolchain.toml. Stable jobs install from the file; fuzz jobs install the pinned nightly from .rust-nightly; docs stays on floating nightly (cargo-doc-md selects nightly by alias internally) - fold Swatinem/rust-cache into the action's built-in cache (cache-workspaces for fuzz, cache-shared-key for docs); fmt and release stay cache-less - rustflags: "" on most jobs to keep RUSTFLAGS unset; the check job keeps the action default (-D warnings) so it fails the build/tests on any warning - fix clippy::duration_suboptimal_units surfaced by 1.96.0 (from_secs -> from_mins across firma-stack, firma-proto, firma-sidecar) - proxy_bridge: move the Unix-only HostBridgeHandle tests into a #[cfg(unix)] submodule so their imports don't trip unused-import on Windows now that the check job denies warnings in test builds
0d03441 to
8e82595
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pin the Rust toolchain so local and CI use the same compiler instead of floating on the latest stable/nightly (which, with
clippy -D warnings, lets a new release break unrelated PRs).rust-toolchain.tomlpins stable to 1.96.0;.rust-nightlypins the nightly forcargo-fuzz, referenced from the Makefile and the fuzz CI jobs.dtolnay/rust-toolchainwithactions-rust-lang/setup-rust-toolchain(reads the toolchain file) and foldSwatinem/rust-cacheinto its built-in cache.rust-version(MSRV).docsstays on floating nightly sincecargo-doc-mdselects nightly by alias. The scheduled jobs (fuzz, docs, bench, release) aren't exercised by PR CI.I fixed some existing clippy warnings as well as unused imports on Windows. To make it less of an issue in the future, I've restructured that test file to group by target platform, so that we don't have to pepper #[cfg(unix)] everywhere.