Skip to content

fix(rust-ci): pass explicit toolchain: stable to SHA-pinned dtolnay action#439

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/new-session-znxgm7
Jun 27, 2026
Merged

fix(rust-ci): pass explicit toolchain: stable to SHA-pinned dtolnay action#439
hyperpolymath merged 2 commits into
mainfrom
claude/new-session-znxgm7

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

Add an explicit toolchain: stable input to all four dtolnay/rust-toolchain steps in .github/workflows/rust-ci-reusable.yml (the check, test, audit, and coverage jobs).

Why

The reusable bundle pins dtolnay/rust-toolchain by commit SHA (@67ef31d5…). That action infers the toolchain from its @-ref (e.g. @stablestable), but a SHA ref carries no version, so the action's internal "parse toolchain version" step receives an empty toolchain and aborts:

'toolchain' is a required input
Process completed with exit code 1

This is the estate-wide rust-ci / Cargo check + clippy + fmt red that appears on every PR across the ~28 repos consuming this reusable workflow. Confirmed live against iseriser run 28287559313 (job Cargo check + clippy + fmt), whose failed step logged the env line toolchain: (empty) immediately before the error.

Fix

Each step now passes toolchain: stable, matching the existing # stable pin comment. The check job keeps its components: clippy, rustfmt; the other three gain a with: block. No behavioural change beyond making the toolchain explicit — which is exactly what the SHA pin requires.

Propagation

Single-source fix: consumers pin this reusable by SHA and inherit the fix on the next standards-reusable pin refresh (the existing "refresh standards reusable pins to current HEAD" flow). No consumer-side edits are part of this PR.

Verification

  • python3 -c "import yaml; yaml.safe_load(...)" → YAML parses.
  • All four dtolnay/rust-toolchain steps now carry toolchain: stable (grep-confirmed).

🤖 Generated with Claude Code

https://claude.ai/code/session_01A6PSzJWpRxtzGDjUCEh7Mx


Generated by Claude Code

… action

The reusable Rust CI bundle pins `dtolnay/rust-toolchain` by commit SHA
(`@67ef31d5…`). That action infers the toolchain from its `@`-ref (e.g.
`@stable`), but a SHA ref carries no version, so its "parse toolchain
version" step receives an empty `toolchain` and fails:

    'toolchain' is a required input
    Process completed with exit code 1

This is the estate-wide `rust-ci / Cargo check + clippy + fmt` red seen
on every PR across the ~28 repos consuming this reusable workflow
(confirmed live in iseriser run 28287559313).

Add `toolchain: stable` to all four `dtolnay/rust-toolchain` steps
(check, test, audit, coverage), matching the `# stable` pin comment.
Consumers inherit the fix on the next standards-reusable pin refresh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A6PSzJWpRxtzGDjUCEh7Mx
@hyperpolymath hyperpolymath marked this pull request as ready for review June 27, 2026 18:27
@hyperpolymath hyperpolymath merged commit 9fe0d8f into main Jun 27, 2026
8 of 16 checks passed
@hyperpolymath hyperpolymath deleted the claude/new-session-znxgm7 branch June 27, 2026 18:27
@sonarqubecloud

Copy link
Copy Markdown

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

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.

2 participants