Skip to content

Fix MSRV CI Check (pin half dependency) - #7290

Merged
alamb merged 3 commits into
apache:mainfrom
alamb:alamb/verify_msrv
Mar 15, 2025
Merged

Fix MSRV CI Check (pin half dependency)#7290
alamb merged 3 commits into
apache:mainfrom
alamb:alamb/verify_msrv

Conversation

@alamb

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

Arrow didn't change but a semver update of half has caused msrv checks to fail

What changes are included in this PR?

Pin half to older version in CI tests

Are there any user-facing changes?

No code changes

@alamb
alambforce-pushed the alamb/verify_msrv branch from ba8c438 to c56165dCompareMarch 14, 2025 20:54
@alambalamb changed the title Alamb/verify msrvFix MSRV CI Check (pin half dependency)Mar 14, 2025
@alambalamb added the development-process Related to development process of arrow-rs label Mar 14, 2025
@alamb

Copy link
Copy Markdown
ContributorAuthor

I am going to merge this in to get the tests greener and reduce confusion on PRs

@alamb
alamb merged commit 83dabf9 into apache:mainMar 15, 2025
@alamb
alamb deleted the alamb/verify_msrv branch March 16, 2025 10:04
wiedld pushed a commit to influxdata/arrow-rs that referenced this pull request May 21, 2025
* pin half in MSRV check
* fix
* also pyarrow-integration-testing
mbutrovich added a commit to mbutrovich/arrow-rs that referenced this pull request Jul 17, 2026
Two independent fixes so the Verify MSRV job passes on 58_maintenance:
- 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 versions (recent aws-* releases require rustc 1.94.1).
- Downgrade the tonic crates to 0.14.5 before cargo msrv verify. We commit
no Cargo.lock, so verify resolves fresh and picks tonic 0.14.6, which
requires rustc 1.88 -- above our 1.85 MSRV. Follows the approach in apache#7290.
alamb pushed a commit that referenced this pull request Jul 17, 2026
…o-msrv --locked) (#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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-processRelated to development process of arrow-rs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MSRV CI check is failing on main

1 participant

@alamb