Skip to content

chore(ci): every toolchain step installs the components the toolchain file demands - #1016

Merged
FeathBow merged 1 commit into
pegainfer-project:mainfrom
FeathBow:chore/ci-toolchain-components
Aug 31, 2026
Merged

chore(ci): every toolchain step installs the components the toolchain file demands#1016
FeathBow merged 1 commit into
pegainfer-project:mainfrom
FeathBow:chore/ci-toolchain-components

Conversation

@FeathBow

Copy link
Copy Markdown
Collaborator

Description

rust-toolchain.toml pins nightly-2026-07-10 with components = ["rustfmt", "clippy"], but most CI jobs install the toolchain with only clippy, or with no components at all. The first cargo invocation then makes the rustup shim sync the toolchain file and add rustfmt incrementally, and on this nightly that add fails deterministically:

error: failed to install component: 'rustfmt-preview-x86_64-unknown-linux-gnu', detected conflict: 'bin/cargo-fmt'

The cargo component of this nightly already ships bin/cargo-fmt, so a single-transaction toolchain install tolerates the overlap while an incremental component add refuses it. That is why the fmt job, which installs rustfmt at setup, passes, while the Qwen3.5 CUDA clippy job and every other clippy-only or component-less job dies at its first cargo command.

Every dtolnay/rust-toolchain step now installs rustfmt, clippy up front, so the shim never has to add a component after the fact.

Test Env

GitHub-hosted ubuntu-latest; the failure happens in rustup before any build, so no GPU is involved.

Verification

  • The mechanism matches the observed split: jobs whose toolchain step omits rustfmt fail at their first cargo command with the conflict above, and the fmt job with rustfmt installed at setup does not.
  • The diff is confined to the eight toolchain steps' components: lines in .github/workflows/ci.yml (8 insertions, 4 deletions); no job commands change.
  • The deciding evidence is this PR's own checks: every matrix job must now get past toolchain setup to its cargo command.

… file demands

Signed-off-by: Feathbow <feathbow@gmail.com>
@FeathBow
FeathBow merged commit ba794bd into pegainfer-project:main Aug 31, 2026
17 checks passed
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