Skip to content

fix(ci): install pinned Rust in fresh isolated tool homes - #112

Merged
MrScripty merged 2 commits into
mainfrom
fix/isolated-ci-rustup-20261016
Oct 16, 2026
Merged

MrScripty merged 2 commits into
mainfrom
fix/isolated-ci-rustup-20261016

Conversation

@MrScripty

@MrScripty MrScripty commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

The Rust and research-book jobs fail before repository compilation on runner image ubuntu24/20261012.334.1: their first logged rustup calls recover a partial toolchain and encounter bin/cargo-clippy conflicts. The book job already declared temporary homes; the logs do not establish why partial state was reused. Observed jobs: PR #107 job 116742623356, PR #108 job 116746445138.

Use one shared setup helper in the two affected workflows. It exclusively creates new tool homes under RUNNER_TEMP, verifies pinned official rustup-init 1.28.2 bytes, and invokes only the new absolute installer/proxies with the repository's Rust 1.92.0, minimal profile, rustfmt and Clippy. It checks installed components and versions before publishing GitHub environment/PATH entries. No existing home, toolchain or cache is copied, repaired or deleted. Existing qualification commands, feature matrix, strict lints and thresholds remain unchanged. The executable-contracts job runs the setup's normal and optimized-Python contracts before invoking setup.

Validation:

  • Seven fake-distribution isolation/failure contracts pass normally and under python3 -O. They cover polluted inherited homes/PATH/selectors, exclusive fresh homes, checksum and size refusal, failed installation/missing components/wrong version, and correct workflow integration.
  • A real fresh official download/install completed locally with rustc 1.92.0 (ded5c06cf), cargo 1.92.0, rustfmt 1.8.0-stable and Clippy 0.1.92. Those fresh tools passed cargo +1.92.0 fmt --all --check, strict all-target Clippy and cargo +1.92.0 test --locked --offline on a tiny dependency-free standalone crate (zero unit tests; this verifies tool execution/compilation, not Rheon behavior). No Worker sources or shared Cargo targets were used.
  • Python syntax, YAML/job structure and git diff --check pass.

Official bootstrap: manual-install/versioned archive documentation, pinned archive checksum. Expected SHA-256: 20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c.

The first hosted run passed the new setup and bootstrap contracts, then exposed a historical CI-budget guard still requiring the replaced ambient setup bytes. The follow-up requires the complete frozen historical block, substitutes only the exact reviewed helper step and requires both bootstrap checks at the approved position. All previous numerical methods, workloads, action pins, matrix, budgets and final status gates are preserved. Independent review and actual targeted guard3+3 optimized tests (21 rejection controls each), plus bootstrap7+7 optimized tests passed. Fresh hosted Rheon qualification remains pending on head ad8564c452d29d1ab2d858e08fd6fa6079ba3972; the earlier 195-entry lifecycle run had one error and27 skips and is not reported as passing. This change makes no hermeticity, reproducibility or measured-model claim; other Rust workflows retain their current setup and are outside this repair.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7345b9ae-a6b7-440f-a6ea-d0f6edf5f879
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MrScripty
MrScripty marked this pull request as ready for review October 16, 2026 03:01
@MrScripty
MrScripty merged commit e841705 into main Oct 16, 2026
11 checks passed
@MrScripty
MrScripty deleted the fix/isolated-ci-rustup-20261016 branch October 16, 2026 03:04
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