Move CI planning to cargo-rail-action v10 and cargo-rail 0.29 - #479
Merged
Merged
Conversation
Tryanks
force-pushed
the
bump-cargo-rail-action
branch
from
September 20, 2026 12:24
380c7d1 to
a40e4d4
Compare
Tryanks
force-pushed
the
bump-cargo-rail-action
branch
from
September 20, 2026 12:57
a40e4d4 to
a9c71f1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #463.
loadingalias/cargo-rail-actionv10 is a rewrite: it installs Cargo-Rail from the ≥0.26 component archives (so the pinned 0.25.0 404s onSHA256SUMS, which is the failure on #463), requires plan contract v9 (Cargo-Rail 0.28+), replaces the Pythonplan.pyreader with acargo-rail-action plan …launcher, and no longer exposes aplan-readeroutput (version,plan-fileandrequired-workremain;since/allinputs are unchanged).What changed:
4a8df18) withversion: 0.29.0. The exact--from/--tore-plan stays, butrequired_worknow comes fromcargo-rail-action plan required. Thecontinue-on-error+plan.pyfallback are gone: Cargo-Rail 0.29.0 plans a--sincediff that contains renames (verified locally on a scratch commit renaming a doc and a Rust module), so the comment about the 0.25.0 "not strictly sorted" bug no longer applies.verify_saved_planincommands/plan.rs), and every v10 selector re-verifies before emitting. A Linux plan can therefore no longer be consumed on macOS/Windows, which the action's README also calls out.desktop-checknow runs the same planner action after the toolchain is installed (skipped whenhost-fullwidens the scope to--workspace) and reads scope from its own plan; theci-planartifact,install_cargo_rail.py(0.25.0 checksums) and the plan-verify step are removed. The plan job exportsbaseso consumers plan the samebase..headpair.run_rail_cargo.pycallscargo-rail-action plan cargo-scope|cargo-argsinstead of the--readerscript;test_ci_scope.pyfakes that launcher and expects 0.29.0.Local evidence:
CARGO_RAIL_BIN=<cargo-rail 0.29.0> python3 .github/scripts/test_ci_scope.py→ 13 tests OK.cargo-rail-actionruntime downloaded from the releases:cargo rail plan --json --from origin/main --to HEAD,cargo-rail-action plan required|cargo-scope|cargo-args, andcargo rail plan --verifyall succeed on this repo; a--since <sha>plan also succeeds in a--depth 1clone with only the base commit fetched (the shape the desktop jobs will see) and selects the same packages as the exact plan; a worktree plan still verifies after acargo checkpopulatestarget/.