yihua opened a new pull request, #721:
URL: https://github.com/apache/hudi-rs/pull/721
## Description
Follow-up to #715, which raised the MSRV but deliberately shipped no CI
guard: with `Cargo.lock` gitignored and resolver v2, a naive MSRV job would
assert a moving target (whatever the newest semver-compatible dependencies
happen to require) and break on unrelated PRs whenever a transitive dependency
raises its floor, which is exactly how the 1.91.1 claim rotted unnoticed while
every job built on the newer dev pin.
This makes the guard sound in three steps. Resolver v3 makes fresh
resolutions MSRV-aware, so dependency selection prefers versions whose
`rust-version` fits the declared 1.94.1. The benchmark crates now inherit the
workspace `rust-version`, so the floor is uniform across members and a
bench-only dependency cannot pull a shared crate past it. The new `msrv-check`
job then compiles the workspace with the toolchain the manifest declares (read
from `Cargo.toml`, so it follows future bumps); today the dev pin resolves to
the same 1.94.1, and the job starts pulling real weight the moment the pin
moves ahead of the MSRV again.
One behavior note: since the lockfile is not committed, resolver v3 caps
dependency selection at MSRV-compatible versions for every build, and when
nothing compatible exists cargo picks a newer version with a warning instead of
erroring; the msrv-check job then fails at compile time, which is the alarm
this exists to raise. Dependency updates whose floor passes the MSRV stop
arriving until the MSRV moves, which is the point.
## How are the changes test-covered
- [ ] N/A
- [ ] Automated tests (unit and/or integration tests)
- [x] Manual tests
- [x] Details are described below
Regenerated the lockfile from scratch under resolver v3 and compared against
a same-day v2-behavior resolution
(`CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=allow`): identical, so the switch
changes nothing today and only engages when a dependency's floor moves past the
MSRV. Ran the job's exact command (`cargo +1.94.1 check --workspace
--all-targets --all-features`) to completion on the fresh resolution.
--
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]