-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(ci): Ensure lockfile is respected during MSRV testing #13523
Conversation
As a hack in cargo-hack, it doesn't respect lockfiles when doing MSRV testing unless `--locked` is passed in. This adds that so we make sure we don't run into problems with newer, MSRV-imcompatible dependencies come out that break our build. See - https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/gix-ref.20CI.20error/near/423319798 - taiki-e/cargo-hack#234 - taiki-e/cargo-hack#236
If this were the only reason, we could have changed that behavior without any problem, but unfortunately the fact that cargo has made incompatible lockfile changes in the past complicates problems. Especially when running locally on a project with updated/uncommitted lockfiles, without this functionality, calling --rust-version/--version-range after a Ideally, I would like to determine on the cargo-hack side which older lockfile formats cause compatibility issues and call generate-lockfile only when necessary, but I'm not sure how much more complicated that would be. |
Thanks! @bors r+ |
☀️ Test successful - checks-actions |
I don't see how what we said was different
FYI #12861 was merged which makes lockfile generation respect MSRV. imo if working with a version older than that
|
Update cargo 11 commits in f772ec0224d3755ce52ac5128a80319fb2eb45d0..c3c417b85e01a1de1633317fa55e4f1a31e346d4 2024-03-01 22:57:35 +0000 to 2024-03-06 01:16:08 +0000 - fix(rustdoc-map): dedup `--extern-html-too-url` for same unit (rust-lang/cargo#13544) - test: Add test for packaging a public dependency (rust-lang/cargo#13536) - doc: Edits for git/path dependency sections (rust-lang/cargo#13341) - feat(cli): Allow logging to chrome traces (rust-lang/cargo#13399) - fix(log): Trace parameters to align with profile (rust-lang/cargo#13538) - fix(toml): Don't warn on unset Edition if only 2015 is compatible (rust-lang/cargo#13533) - fix(cli): Trace core cargo operations (rust-lang/cargo#13532) - chore: update pulldown-cmark to 0.10.0 (rust-lang/cargo#13517) - feat(add): Fallback to `rustc -v` when no MSRV is set (rust-lang/cargo#13516) - chore(ci): Ensure lockfile is respected during MSRV testing (rust-lang/cargo#13523) - feat: Use consistent colors when testing (rust-lang/cargo#13520) r? ghost
Update cargo 14 commits in f772ec0224d3755ce52ac5128a80319fb2eb45d0..a4c63fe5388beaa09e5f91196c86addab0a03580 2024-03-01 22:57:35 +0000 to 2024-03-06 22:15:17 +0000 - fix(cli): Skip tracing-chrome for platforms without 64bit atomics (rust-lang/cargo#13551) - chore: downgrade to openssl v1.1.1 (again) (rust-lang/cargo#13550) - fix(cli): Add traces to clarify where time is going (rust-lang/cargo#13545) - fix(rustdoc-map): dedup `--extern-html-too-url` for same unit (rust-lang/cargo#13544) - test: Add test for packaging a public dependency (rust-lang/cargo#13536) - doc: Edits for git/path dependency sections (rust-lang/cargo#13341) - feat(cli): Allow logging to chrome traces (rust-lang/cargo#13399) - fix(log): Trace parameters to align with profile (rust-lang/cargo#13538) - fix(toml): Don't warn on unset Edition if only 2015 is compatible (rust-lang/cargo#13533) - fix(cli): Trace core cargo operations (rust-lang/cargo#13532) - chore: update pulldown-cmark to 0.10.0 (rust-lang/cargo#13517) - feat(add): Fallback to `rustc -v` when no MSRV is set (rust-lang/cargo#13516) - chore(ci): Ensure lockfile is respected during MSRV testing (rust-lang/cargo#13523) - feat: Use consistent colors when testing (rust-lang/cargo#13520)
Update cargo 14 commits in f772ec0224d3755ce52ac5128a80319fb2eb45d0..a4c63fe5388beaa09e5f91196c86addab0a03580 2024-03-01 22:57:35 +0000 to 2024-03-06 22:15:17 +0000 - fix(cli): Skip tracing-chrome for platforms without 64bit atomics (rust-lang/cargo#13551) - chore: downgrade to openssl v1.1.1 (again) (rust-lang/cargo#13550) - fix(cli): Add traces to clarify where time is going (rust-lang/cargo#13545) - fix(rustdoc-map): dedup `--extern-html-too-url` for same unit (rust-lang/cargo#13544) - test: Add test for packaging a public dependency (rust-lang/cargo#13536) - doc: Edits for git/path dependency sections (rust-lang/cargo#13341) - feat(cli): Allow logging to chrome traces (rust-lang/cargo#13399) - fix(log): Trace parameters to align with profile (rust-lang/cargo#13538) - fix(toml): Don't warn on unset Edition if only 2015 is compatible (rust-lang/cargo#13533) - fix(cli): Trace core cargo operations (rust-lang/cargo#13532) - chore: update pulldown-cmark to 0.10.0 (rust-lang/cargo#13517) - feat(add): Fallback to `rustc -v` when no MSRV is set (rust-lang/cargo#13516) - chore(ci): Ensure lockfile is respected during MSRV testing (rust-lang/cargo#13523) - feat: Use consistent colors when testing (rust-lang/cargo#13520)
Update cargo 14 commits in f772ec0224d3755ce52ac5128a80319fb2eb45d0..a4c63fe5388beaa09e5f91196c86addab0a03580 2024-03-01 22:57:35 +0000 to 2024-03-06 22:15:17 +0000 - fix(cli): Skip tracing-chrome for platforms without 64bit atomics (rust-lang/cargo#13551) - chore: downgrade to openssl v1.1.1 (again) (rust-lang/cargo#13550) - fix(cli): Add traces to clarify where time is going (rust-lang/cargo#13545) - fix(rustdoc-map): dedup `--extern-html-too-url` for same unit (rust-lang/cargo#13544) - test: Add test for packaging a public dependency (rust-lang/cargo#13536) - doc: Edits for git/path dependency sections (rust-lang/cargo#13341) - feat(cli): Allow logging to chrome traces (rust-lang/cargo#13399) - fix(log): Trace parameters to align with profile (rust-lang/cargo#13538) - fix(toml): Don't warn on unset Edition if only 2015 is compatible (rust-lang/cargo#13533) - fix(cli): Trace core cargo operations (rust-lang/cargo#13532) - chore: update pulldown-cmark to 0.10.0 (rust-lang/cargo#13517) - feat(add): Fallback to `rustc -v` when no MSRV is set (rust-lang/cargo#13516) - chore(ci): Ensure lockfile is respected during MSRV testing (rust-lang/cargo#13523) - feat: Use consistent colors when testing (rust-lang/cargo#13520)
As a hack in cargo-hack, it doesn't respect lockfiles when doing MSRV testing unless
--locked
is passed in.This adds that so we make sure we don't run into problems with newer, MSRV-imcompatible dependencies come out that break our build.
See
cargo hack
ignores my MSRV compatibleCargo.lock
, preventing me from testing my MSRV taiki-e/cargo-hack#234