[sonic-slave-trixie]: Upgrade Rust toolchain to 1.88.0#26877
Open
netobani wants to merge 2 commits intosonic-net:masterfrom
Open
[sonic-slave-trixie]: Upgrade Rust toolchain to 1.88.0#26877netobani wants to merge 2 commits intosonic-net:masterfrom
netobani wants to merge 2 commits intosonic-net:masterfrom
Conversation
Bump the trixie build slave's Rust toolchain from 1.86.0 to 1.88.0. This also unpins cargo-tarpaulin so the latest version can be installed again — the previous pin to 0.35.1 was a workaround for cargo-tarpaulin 0.35.2 pulling in gimli 0.33.0, which requires Rust 1.88+. With the toolchain upgraded, that workaround is no longer needed. Signed-off-by: NetoBani <n3t0ban1@gmail.com>
Collaborator
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
banidoru
approved these changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- Clean, minimal change — toolchain bump + unpin looks correct.
--lockedon cargo-tarpaulin install is good; mitigates most supply-chain risk.- Minor: unpinning cargo-tarpaulin means future builds pick up whatever's latest — if a broken release lands, slave builds break. Acceptable risk given the pin was a workaround, but worth noting.
- No cross-build or other Dockerfile.j2 sections affected.
- Commit is properly signed-off.
banidoru
suggested changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- The removal of the version pin for
cargo-tarpaulinmakes the build non-reproducible and susceptible to future breakages. - The version should be pinned to a specific, known-good version to ensure build stability.
banidoru
approved these changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- Rust 1.86.0 → 1.88.0 bump is clean; single-file change, no side effects on cross-build or other Dockerfile sections.
- Removing the version pin comment is correct — the workaround reason (gimli 0.33.0 needing 1.88+) no longer applies.
--lockedretained on cargo install — good.- Agree with existing feedback: re-pinning cargo-tarpaulin to the current latest (e.g. 0.35.2) would be better for reproducibility, but not blocking.
- Commit is signed-off and properly scoped.
Signed-off-by: NetoBani <n3t0ban1@gmail.com>
Author
|
Automated review follow-up:
|
Collaborator
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
banidoru
approved these changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- Rust toolchain bump 1.86.0 → 1.88.0 looks correct and aligns with ecosystem requirements (gimli 0.33.0 needs 1.88+).
- cargo-tarpaulin now pinned to 0.35.2 with
--locked— reproducibility concern from prior review is addressed. - Old workaround comments removed cleanly; new comment explains the pin rationale.
- No other files affected; change is minimal and focused.
- LGTM.
banidoru
approved these changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- The dependency is now pinned to version , ensuring reproducible builds.
- This change directly addresses all previous review feedback.
- No new issues were found in the diff.
banidoru
approved these changes
Apr 17, 2026
banidoru
left a comment
There was a problem hiding this comment.
- Rust 1.86.0 → 1.88.0 upgrade is straightforward and correctly scoped to trixie slave only
- cargo-tarpaulin now pinned to 0.35.2 with
--locked— addresses prior reproducibility concern - Comment explaining the pin rationale is clear and helpful
- No other files affected; change is minimal and safe
- Prior review threads resolved appropriately
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.
Why I did it
The trixie build slave currently installs Rust 1.86.0. Some Rust crates used by SONiC's tooling have started requiring newer toolchains — most recently
gimli 0.33.0(pulled in bycargo-tarpaulin >= 0.35.2) which needs Rust 1.88+.To keep the slave aligned with what the ecosystem expects, bump the toolchain to 1.88.0.
How I did it
sonic-slave-trixie/Dockerfile.j2: bump rustup--default-toolchainfrom1.86.0to1.88.0.cargo-tarpaulin@0.35.1version pin and the accompanying comment — the pin was a workaround for the Rust 1.86 limitation and is no longer needed.How to verify it
make sonic-slave-trixie-buildrustc --versionshould report 1.88.0, andcargo tarpaulin --versionshould resolve to the latest release.sonic-nettools, watchdog images) and confirm they still build clean.