216619176c
rust-toolchain.toml pinned the floating "stable" channel, so the CI image baked whatever stable existed at image-build time. When the image is rebuilt onto a newer stable, rustfmt's rules shift and `cargo fmt --all --check` fails on files nobody touched — the recurring format-drift that keeps red-lighting CI. Pin channel = "1.96.0" (== today's stable: rustc ac68faa20, rustfmt 1.9.0-stable), the exact build CI already runs, so this is a no-op now but locks formatting for good: local dev, the Linux CI image, and the Windows runner all use rustup and honor this file, so they converge on one rustfmt. Formatting now only changes in a deliberate bump-this-pin- and-reformat commit. ci.yml cache comment updated to match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 lines
615 B
TOML
10 lines
615 B
TOML
# Pin an EXACT version, not the floating "stable" channel. The CI image bakes whatever
|
|
# `stable` was at image-build time; when the image is rebuilt onto a newer stable, rustfmt's
|
|
# formatting rules shift and `cargo fmt --all --check` starts failing on files nobody touched
|
|
# (format drift). An exact pin makes rustfmt/rustc identical for every contributor and CI, so
|
|
# formatting only ever changes in a deliberate bump-this-line-and-reformat commit.
|
|
# The CI image (ci/rust-ci.Dockerfile) and the Windows runner both use rustup, which honors this.
|
|
[toolchain]
|
|
channel = "1.96.0"
|
|
components = ["rustfmt", "clippy"]
|