Skip to content

Move CI planning to cargo-rail-action v10 and cargo-rail 0.29 - #479

Merged
Tryanks merged 1 commit into
mainfrom
bump-cargo-rail-action
Sep 20, 2026
Merged

Tryanks merged 1 commit into
mainfrom
bump-cargo-rail-action

Conversation

@Tryanks

@Tryanks Tryanks commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Supersedes #463.

loadingalias/cargo-rail-action v10 is a rewrite: it installs Cargo-Rail from the ≥0.26 component archives (so the pinned 0.25.0 404s on SHA256SUMS, which is the failure on #463), requires plan contract v9 (Cargo-Rail 0.28+), replaces the Python plan.py reader with a cargo-rail-action plan … launcher, and no longer exposes a plan-reader output (version, plan-file and required-work remain; since/all inputs are unchanged).

What changed:

  • Plan job: action pinned to v10.0.1 (4a8df18) with version: 0.29.0. The exact --from/--to re-plan stays, but required_work now comes from cargo-rail-action plan required. The continue-on-error + plan.py fallback are gone: Cargo-Rail 0.29.0 plans a --since diff 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.
  • Desktop jobs: Cargo-Rail 0.29 binds a saved plan to the planning host's Cargo executable/toolchain identity (verify_saved_plan in commands/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-check now runs the same planner action after the toolchain is installed (skipped when host-full widens the scope to --workspace) and reads scope from its own plan; the ci-plan artifact, install_cargo_rail.py (0.25.0 checksums) and the plan-verify step are removed. The plan job exports base so consumers plan the same base..head pair.
  • run_rail_cargo.py calls cargo-rail-action plan cargo-scope|cargo-args instead of the --reader script; test_ci_scope.py fakes 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.
  • With cargo-rail 0.29.0 and the v10.0.1 cargo-rail-action runtime downloaded from the releases: cargo rail plan --json --from origin/main --to HEAD, cargo-rail-action plan required|cargo-scope|cargo-args, and cargo rail plan --verify all succeed on this repo; a --since <sha> plan also succeeds in a --depth 1 clone 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 a cargo check populates target/.
  • CI on this PR is the authoritative check for the per-platform planning.

@Tryanks
Tryanks force-pushed the bump-cargo-rail-action branch from a40e4d4 to a9c71f1 Compare September 20, 2026 12:57
@Tryanks
Tryanks merged commit 3ef4342 into main Sep 20, 2026
6 checks passed
@Tryanks
Tryanks deleted the bump-cargo-rail-action branch September 20, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant