ci: pin the fmt-check nightly toolchain to a fixed date#60
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughPins the nightly Rust toolchain in CI from a floating ChangesNightly Toolchain Pin
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The fmt check installed a floating `nightly`, so a new nightly rustfmt release would silently reformat unchanged code and turn every open PR's fmt check red (observed across the open Design-Z PR stack). Pin to nightly-2026-06-22 — the version the current tree is formatted against — so fmt drift only happens on a deliberate bump of this line.
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
The CI fmt check installs a floating
nightlytoolchain (dtolnay/rust-toolchainwithtoolchain: nightly), so whenever a new nightly rustfmt is released it silently reformats unchanged code and turns the fmt check red — on every open PR at once, regardless of what that PR changed.This bit the repo twice in one day: it forced a reformat in #59 (an unrelated
spectrum.rshunk), and then turned the entire open Design-Z PR stack (#54–#57) red on fmt the moment their branches were re-pushed, even though none of them touched the flagged code.Pin the fmt toolchain to
nightly-2026-06-22— the exact versionmainand all current branches are formatted against — so fmt drift only ever happens on a deliberate bump of this one line, not on an upstream nightly release. The action itself stays pinned by commit hash as before; only the floatingtoolchain:value is fixed.Bumping rustfmt in future is then a one-line, reviewable change (update the date, run
cargo +nightly fmt, commit the reformat together) instead of a surprise red on unrelated PRs.Summary by CodeRabbit