Repository navigation
ci: pin the Rust toolchain to 1.99.0 - #468
Merged
Merged
Conversation
CI installed the floating `stable` toolchain, so the Rust 1.99.0 release broke every Test job with new clippy lints unrelated to the PR under test. - Commit rust-toolchain.toml (previously gitignored) pinning 1.99.0 with clippy and rustfmt - Install the pinned toolchain in setup-test and the mise build task instead of `stable` - Bump async-trait to 0.1.92, which fixes `double_must_use` in its generated code - Drop a redundant `.into_iter()` flagged by `useless_conversion`
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
freshtonic
reviewed
Oct 15, 2026
freshtonic
left a comment
Contributor
There was a problem hiding this comment.
This change is correct and small. A committed pin is the correct fix for the CI failures that come from the floating stable toolchain. All six checks pass. I found no blocking problems.
What I checked:
rust-toolchain.tomlis in effect for both CI paths.setup-testand the misebuildtask now runrustup toolchain installwith no argument, so rustup reads the pin and its profile.- The bump to
async-trait0.1.92 does not add a new major version ofsynto the build.syn 3.0.3is already inmain'sCargo.lockthroughpg-proto-fsm,ref-cast-implandtokio-macros. - The
.into_iter()removal inzerokms.rsdoes not change behaviour. - A CHANGELOG entry is not necessary, because users do not see this change.
Non-blocking suggestions:
- Check the release build path.
release.ymlrunsmise run buildonubuntu-latest, and the test checks do not run it.rustup toolchain installwithout a toolchain name needs rustup 1.28 or later. Runner images have this today, but a release dry run (or a manual run of the build job) would show that the release binaries use 1.99.0 before the next tag. - Tell developers in
DEVELOPMENT.md. The PR description says that an untrackedrust-toolchain.tomlblocksgit pull. This note will not be easy to find after the merge. A short line inDEVELOPMENT.md(the toolchain is pinned, editrust-toolchain.tomlto upgrade) keeps it with the other setup procedures. - Plan the upgrades. The pin stops unplanned failures, but nothing will tell us when 1.99.0 is old. A dependency bot that updates
rust-toolchain.toml, or a recurring reminder, would keep upgrades planned and regular.
freshtonic
self-requested a review
October 15, 2026 01:21
freshtonic
approved these changes
Oct 15, 2026
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.
Problem
CI installed the floating
stabletoolchain (rustup toolchain install stableinsetup-test). When Rust 1.99.0 was released, its clippy began failing every Test job with-D warnings. This is unrelated to whatever PR is under test; for example, #466 changes onlyCargo.lock.clippy::double_must_usefires on code generated by#[async_trait](proxy/mod.rs:150)clippy::useless_conversionfires inzerokms.rs:362rust-toolchain.tomlexisted locally but was gitignored, so CI never saw a pin.Changes
rust-toolchain.tomlpinning1.99.0(clippy + rustfmt, minimal profile) and remove it from.gitignoresetup-testand the misebuildtask install the pinned toolchain instead ofstable, so release binaries use the same versionasync-trait0.1.88 → 0.1.92 ("Resolve double_must_use clippy lint in generated code").into_iter()Toolchain upgrades now happen deliberately by editing
rust-toolchain.toml.Validation (local, 1.99.0)
cargo fmt --all -- --checkpassescargo clippy --all --no-deps --all-targets --all-features -- -D warningspassescargo test -p cipherstash-proxy --lib -- --test-threads=1: 250 passedSome
config::tandemtests are flaky when run in parallel locally, apparently from shared env vars. The same happens onmainwith 1.92, so this PR doesn't cause it.Note for local checkouts
If you have an untracked
rust-toolchain.toml, delete it before pulling.