Repository navigation
ci: serialize Rust toolchain bootstrap - #476
Merged
Merged
Conversation
Prepare the pinned toolchain and required components before make check fans out its local Layer-1 jobs. This avoids concurrent rustup downloads corrupting the shared runner installation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Scope the workflow contract to the local job and require the workspace checkout and pinned toolchain install in the step preceding make check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Validate optional reusable workflow identifiers when GitHub provides them, while retaining the caller workflow SHA fallback for same-repository calls. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Require the protected workflow ref and both event-path call sites in the policy contract. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep optional metadata checks inside their helper and bind both event-path calls to the event switch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The trusted
mainbuild workflow now prepares the pinned Rust toolchain beforemake checkstarts its parallel Layer-1 jobs. This prevents concurrentrustupdownloads from corrupting the shared runner installation and causing Rust/proof lanes to fail with missing tools.The workflow also tolerates GitHub runs that omit reusable-workflow job metadata for same-repository calls. When GitHub provides that metadata, the workflow still requires the protected
mainref and a full immutable SHA. The policy test binds those checks to the helper body and to both accepted event paths.This is a follow-up to the landed BuildBuddy workflow change. It does not modify
v3or use PR #473 as the vehicle.Related: #474
Validation
cargo test --manifest-path packages/Cargo.toml -p xtask --test policy_ci- 3 passed.make test-lint- passed.make test-policy- passed.git diff --check- passed.check,eval,eval-shell-tests) - passed.Bootstrap note
The
build / metadataandbuild / checkruns shown on this PR are sourced from the pre-fix workflow on defaultmain, as required bypull_request_target; they therefore retain the oldjob_workflow_reffailure until this fix lands. The corrected workflow will be exercised by the post-mergemainpush run. No merge bypass or policy change is used.Security and trust boundaries
PR workflows remain credential-free and main-controlled. The change preserves immutable tested base/head/merge OID checks, pinned actions, local-only Nix/fixture/hardware behavior, the push-only BuildBuddy credential gate, descriptor-based credential handling, redaction, warning fail-closed behavior, and the stable aggregate
build / checkcontext.