Repository navigation
fix(ci): bound runner isolation's apt calls so a stall fails, not hangs - #11760
Conversation
setup-runner-isolation ran `apt-get update` and `install` with no timeout. Since 2026-10-31T22:51Z every pr-verify and pr-review-main job that runs it has sat in "Isolate the runner" until its job timeout, so no verify verdict lands. Each apt call now runs under `timeout 180` with Acquire and dpkg-lock timeouts, and an image that already ships bwrap and socat skips apt. A run that still cannot install fails closed, as before, and the lost-run reconciler re-runs it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review: PR #11760I found no security issues. Scope: one changed file, What changed: in the "Install subprocess isolation" step:
Does it widen isolation? No.
No token scope, trusted actor, kill switch or merge hold is touched. The PR context contains no embedded instructions aimed at the review. Spend: none beyond the runner minutes the job already uses. The bounded timeouts shorten hung jobs. critical-findings: 0 |
|
claude-review reviewed Code review: PR #11760, bound runner isolation's apt callsScope: 1 file changed, Result: no findings. What I checked in the changed
I looked at one edge and decided it doesn't clear the bar. If Verification: the PR's verification ( Spend: none. The change doesn't alter turn limits, models, schedules or runner sizes. |
No related issue: every pr-verify and pr-review-main job hung in "Isolate the runner" from 2026-10-31T22:51Z; found live, no issue filed while driving issues to zero
Summary
.github/actions/setup-runner-isolationinstalls bubblewrap and socat withapt-get updateandapt-get installand no timeout. From 22:51Z on 2026-10-31, every job that runs it stalled in that step and sat until its job timeout. That covered pr-verify's check-intent and check-intent-subscription (runs 41249968756, 41250230952, 41251122491, 41254234564, 41254411010, 41255111914, 41256182626) and pr-review-main's review-subscription (41249968733, 41250230869). With the key leg also stopping onclass=credit-stop on PR_VERIFY_CLAUDE_API_KEY, no verify verdict could land, so verdict-gated merges stalled.Fix
timeout 180, withAcquire::Retries=2, 30 s HTTP and HTTPS timeouts and a 60 s dpkg lock timeout. A stall now fails the attempt, and the existing 3-try loop retries.bwrapandsocatare already on the image, apt is skipped.bwrapexists, and the sudo and docker removal step. A run that still cannot install fails in minutes rather than hours, and the lost-run reconciler re-runs it.Verification
shellcheckon the step's script: clean.thread-scope.test.mjslists the file's path only, andwrite-runner-never-rules.test.shchecks theuses:reference only.Related
🤖 Generated with Claude Code