fix(ci): unblock TypeScript E2E fan-out - #3036
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| if [[ ! -x "$splitter" ]]; then | ||
| # One-time bootstrap. Future PRs execute the trusted base helper. | ||
| splitter=.proposed-e2e-plan/.github/scripts/split-typescript-e2e-plan.sh |
There was a problem hiding this comment.
[HIGH] [BOOTSTRAP] PR-controlled splitter executes in the trusted routing job
The base SHA does not contain this helper, so this PR necessarily takes the fallback and executes the head-controlled script inside changes, where the job has read access to repository contents and pull-request metadata. The script can also forge routing outputs consumed by later self-hosted jobs.
The workflow definition and intended helper should come from the trusted base; the PR-controlled inputs should be limited to the shard manifest and matrices. After this lands, the fallback becomes unreachable because the base checkout contains the helper, and any later reappearance would require its suspicious deletion or loss of executability. For this bootstrap run, fail closed instead of executing the proposed helper.
| if [[ ! -x "$splitter" ]]; then | |
| # One-time bootstrap. Future PRs execute the trusted base helper. | |
| splitter=.proposed-e2e-plan/.github/scripts/split-typescript-e2e-plan.sh | |
| if [[ ! -x "$splitter" ]]; then | |
| echo "trusted E2E lane splitter unavailable" >&2 | |
| exit 1 |
🛡️ AI Review — Skeptic (security review)VERDICT: VULNERABLE VERY HIGH account-age/public-repo tier, tempered by repository admin status; no Gittensor association found; branch fix/e2e-artifact-fanout -> main. Findings
ConclusionThe change appears legitimate, but its bootstrap path executes PR-controlled code in a privileged routing job. Remove that fallback and fail closed until the helper exists on the trusted base. # 🔍 AI Review — Auditor (domain review) has not yet run on this PR. |
|
🔄 AI review updated — Skeptic: VULNERABLE |
Summary
PR #3035 exposed two serial barriers in TypeScript E2E CI:
This change:
build release nodejob from the matching Runtime Checks run, including transient API failures and replacement runs. It allows a bounded 60-second producer grace beyond the old cutoff, then falls back locally.ubuntu-latestcoordinator so the wait does not reserve a self-hosted Rust runner.Test Coverage
All new selector and lane-splitting paths have targeted behavioral coverage. This PR's own workflow run provides the integration check for the new Actions dependency graph and fan-out timing.
Pre-Landing Review
No issues found after testing, maintainability, security, performance, and adversarial review passes.
Plan Completion
No plan file detected.
Test plan