Azure / Azure/azure-sdk-for-rust

Track PackToolchain bump past Rust 1.92

Open
#4,737 2 comments 1 reaction 0 assignees View on GitHub
EngSys
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.