Repository navigation
fix(ci): pin the toolchain (main is red on rustc 1.100 manifest lints) - #45
Merged
Merged
Conversation
CI was red on main, not just on the PR branches. rustc 1.100.0 rolled onto
the stable channel on the runner and added cargo manifest lints
(unused_dependencies, unused_workspace_dependencies, redundant_homepage);
CARGO_BUILD_WARNINGS=deny turns them into hard errors, so every job failed
in the first two minutes with zero tests run. Reproduced locally under
1.100.0 with CARGO_BUILD_WARNINGS=deny (exit 101), green under 1.99.0.
* rust-toolchain.toml pins 1.100.0 with rustfmt+clippy. A floating channel
makes main hostage to a Rust release.
* removed the declarations the lint proved unused: workspace hyper,
metrics, metrics-exporter-prometheus, thiserror; per-crate thiserror,
rustc-hash (store), metrics (cli, http). thiserror had zero references
anywhere in the tree; the metrics crates are reached through
ocserve-metrics.
* removed the duplicated homepage (=== repository) from every manifest.
* drain_budget/shutdown/shutdown_race now use CARGO_BIN_EXE_ocserve
instead of walking current_exe(); the walk failed under a custom
CARGO_TARGET_DIR, which is how CI and remote builds run.
Requirement: K-CI-PIN (TRACEABILITY.md).
Verified: cargo +1.100.0 clippy --workspace --all-targets -- -D warnings
with CARGO_BUILD_WARNINGS=deny -> clean; 907 tests pass on the build box;
guards, matrix, docs green.
5 tasks done
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.
Main is red, and it is not the PRs
Every workflow on
mainand on all three fork PRs failed within two minutes with zero tests run. Cause: rustc 1.100.0 landed on the runner'sstablechannel and added cargo manifest lints.CARGO_BUILD_WARNINGS=deny(setup-rust-toolchain v2 default) makes them fatal:Reproduced locally: exit 101 under 1.100.0, clean under 1.99.0 with identical source. The trigger is the compiler, not the code.
Fix
rust-toolchain.tomlpins 1.100.0 (+rustfmt, clippy). CI no longer passestoolchain: stable, so the runner reads the pin. Bump procedure is in the file.hyper,metrics,metrics-exporter-prometheus,thiserror; per-cratethiserror(zero references anywhere),rustc-hash,metrics.homepage(identical torepository) from all 18 manifests.drain_budget/shutdown/shutdown_racenow useCARGO_BIN_EXE_ocserveinstead of walkingcurrent_exe(). The walk failed under a customCARGO_TARGET_DIR, which is how CI and the remote build box run; that was a second, independent red.Verification
cargo +1.100.0 clippy --workspace --all-targets -- -D warningswithCARGO_BUILD_WARNINGS=denycargo test --workspacecheck-guards.shcheck-matrix.sh/check-docs.pyTraceability:
K-CI-PIN.