Azure / Azure/azure-sdk-for-rust
Track PackToolchain bump past Rust 1.92
- Dominant language
- Rust
- Stars
- 884
- Forks
- 365
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 109
Description
## Summary
We still pin `PackToolchain` to `1.92` in `eng/pipelines/templates/variables/rust.yml`. That pin is now causing follow-on breakage in `eng/scripts/Pack-Crates.ps1`, because PR #4700 updated the script for Cargo 1.93+ `.crate` layout while the pack pipeline still runs Cargo 1.92.
## Background
- PR #4324 pinned `PackToolchain` to `1.92` to unblock semver checks.
- The current comment in `eng/pipelines/templates/variables/rust.yml` says Rust 1.93 bumped rustdoc JSON to v57, which `cargo-semver-checks` does not yet support.
- That limitation also affects our current `check_api_superset` and `generate_api_report` flow because they depend on the same rustdoc JSON pipeline.
- PR #4666 added `eng/tools/generate_api`, which is intended to replace `generate_api_report` and should help us remove part of the older toolchain constraint once we finish that migration.
## Tracking
Use this issue to track the work needed to:
1. Replace the remaining `generate_api_report` usage with the new tool from PR #4666.
2. Re-evaluate the semver-checks and API tooling path on Rust 1.93+.
3. Bump `PackToolchain` once the pack job no longer depends on the 1.92-only toolchain behavior.
## Related
- PR #4324
- PR #4666
- PR #4700
Contributor guide
Research direction
Start with eng/pipelines/templates/variables/rust.yml and eng/scripts/Pack-Crates.ps1, then compare the generate_api_report flow with eng/tools/generate_api from PR #4666. Review PRs #4324, #4666, and #4700 to understand the toolchain constraints. Done means the older API-report usage is replaced, the Rust 1.93+ tooling path is validated, and PackToolchain can be bumped without breaking the pack job.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell, rust
- Domain
- build-system, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100