Visitar URL original
fix(ci): channel-only rust-toolchain.toml — kill the implicit component sync by robcohen · Pull Request #1756 · rustledger/rustledger · GitHub
Skip to content

fix(ci): channel-only rust-toolchain.toml — kill the implicit component sync - #1756

Merged
robcohen merged 2 commits into
mainfrom
fix/toolchain-file-channel-only
Jul 10, 2026
Merged

robcohen merged 2 commits into
mainfrom
fix/toolchain-file-channel-only

Conversation

@robcohen

Copy link
Copy Markdown
Member

What

Trims rust-toolchain.toml to channel only, removing the components/targets lists.

Why (#1754's blocking failure, twice)

With components listed, rustup implicitly syncs them on the first cargo invocation of every CI job — a transactional install that intermittently fails on hosted runners: failed to install component: 'clippy-preview…', detected conflict: 'bin/cargo-clippy', then rolling back changes. #1754 hit it on two consecutive runs while byte-identical syncs succeeded on main minutes earlier (same runner-image version, same toolchain point release) — a per-runner dice roll, and re-rolling per run isn't acceptable CI.

Every CI job already declares what it needs via the dtolnay action's components:/targets: inputs (verified: clippy job passes clippy, fmt passes rustfmt, wasm/downstream jobs pass their targets, quality/release pass llvm-tools-preview) — nothing relies on the file's sync. Channel-only, the sync has nothing to install and the failure class is structurally dead.

Non-nix developer setup is documented in the file (rustup component add … once).

Sequencing

Merge before #1754/#1755 re-run; their branches pick this up via update-branch.

🤖 Generated with Claude Code

…nt sync

The file listed components/targets, so rustup implicitly synced them on
the first cargo invocation of EVERY CI job — a transactional install
that intermittently fails on hosted runners ("detected conflict:
bin/cargo-clippy", #1754 twice, while identical runs pass: per-runner
dice roll). CI jobs already declare components/targets explicitly via
dtolnay inputs; with the file channel-only the sync has nothing to do
and the class is dead. Non-nix dev setup documented in the file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@robcohen
robcohen requested a review from a team as a code owner July 10, 2026 19:18
Copilot AI review requested due to automatic review settings July 10, 2026 19:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the repository’s Rust toolchain pin to be channel-only, removing components and targets from rust-toolchain.toml to avoid rustup’s implicit transactional component/target sync on first cargo invocation in CI jobs.

Changes:

  • Removed components = [...] and targets = [...] from rust-toolchain.toml, leaving only channel = "1.97.0".
  • Expanded the file’s comments to document why components/targets are intentionally managed by CI workflow steps (dtolnay action inputs) rather than via rustup override sync.
  • Added developer guidance for manually installing needed components/targets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rust-toolchain.toml Resolved
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown
Contributor

✅ Compatibility Test Results

Metric Result
Check Compatibility 100%
BQL Compatibility 100%
Full AST Match 100%
Total Files 811
What's tested
  • Check: Exit codes and error counts match bean-check
  • BQL: Query results match bean-query
  • Files: ~800 test files downloaded from 10+ beancount repositories

Full results available in workflow artifacts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@robcohen
robcohen merged commit 664baaf into main Jul 10, 2026
48 checks passed
@robcohen
robcohen deleted the fix/toolchain-file-channel-only branch July 10, 2026 20:23
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