mbutrovich opened a new pull request, #10365:
URL: https://github.com/apache/arrow-rs/pull/10365

   # Which issue does this PR close?
   
   <!-- No dedicated issue for the CI break; file one if a tracker is wanted. 
-->
   
   - Part of #10349 (58.4.0 release effort).
   - Unblocks #10351, whose CI surfaced this pre-existing failure.
   - Prior art: #7290 (Fix MSRV CI Check), same class of fix.
   
   # Rationale for this change
   
   The `Verify MSRV` job on `58_maintenance` is failing on every PR (surfaced 
by #10351, whose own changes are parquet-only and unrelated). Two independent, 
pre-existing problems, both from dependency drift:
   
   1. **`cargo install cargo-msrv` fails to build.** Installed unlocked, 
cargo-msrv's transitive deps resolve to their newest versions; recent `aws-*` 
releases require rustc 1.94.1, newer than the CI container's rustc, so the 
install fails before `verify` runs.
   
   2. **`cargo msrv verify` fails on `arrow-flight`.** We commit no 
`Cargo.lock`, so `verify` resolves fresh each run and picks the newest deps. 
`tonic 0.14.6` now requires rustc 1.88, above our 1.85 MSRV.
   
   # What changes are included in this PR?
   
   Both changes are in `.github/workflows/rust.yml` (MSRV job only):
   
   - Install cargo-msrv with `--locked`, so its transitive deps resolve to 
versions that build on the CI container's rustc instead of the newest published 
ones.
   - Add a `Downgrade workspace dependencies` step that pins the tonic crates 
to 0.14.5 (the latest release supporting rustc 1.85) before `cargo msrv 
verify`, following the approach in #7290. The tonic crates are downgraded in 
matched pairs (`tonic`/`tonic-prost`, then `tonic-build`/`tonic-prost-build`) 
so their inter-crate `^` requirements stay satisfiable.
   
   No source, `Cargo.toml`, or declared-MSRV changes.
   
   # Are these changes tested?
   
   Yes, verified locally against a 1.85.1 toolchain with `cargo-msrv` 0.19.3 
(matching CI):
   
   - Without the pins: `cargo msrv verify` on `arrow-flight` reports 
`is_compatible: false` (`tonic 0.14.6` requires 1.88).
   - With the pins: the full CI `find` loop (`cargo msrv verify` over all 29 
packages) passes.
   
   # Are there any user-facing changes?
   
   No. CI-only change; no public API, code, or declared-MSRV changes.
   
   ---
   
   **Note for reviewers:** `main` has the same latent failure -- I ran `cargo 
msrv verify` on `main`'s HEAD and it fails identically on `tonic 0.14.6`. Its 
CI is currently green only because of a cached registry index predating that 
release. The `--locked` fix is already on `main`; the tonic pin step is not. 
Suggest a follow-up applying the tonic pin step to `main` as well.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to