Forgejo CI runner fails all pull_request gate jobs before checkout (0s) - blocks every aos/ward PR merge #536
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#536
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The Forgejo CI runner is failing every
pull_requestgate job before checkout, after 0s, which blocks all merges in the PR-gated repos (aos, ward, cli-guard). Repos that land viadirect-main(infrastructure) are unaffected and merging normally, which is why this hid.Observed:
ci / gate (pull_request)=>failureafter ~0s, "failed before checkout", on aos PRs #441, #436, #437 (and earlier #435/#415/#393).forgejo actions tasks listshows the recentpull_requestgate tasks allfailure.ward testandward pre-commit-allpass on those branches, so this is the CI runner environment, not the code.GET .../actions/runs/{run}/jobs/{job}/attempt/{attempt}/logs), so the failing step output is not visible from the run UI - see the sibling Forgejo Actions log plumbing issues (aos#415/#434).Leading hypothesis (verify before acting)
infrastructure#486("Configure Forgejo runner default job timeouts") landed a runner config change to main at 2026-07-10T10:56Z - explicit runner config files now mounted into the shared build runner and deploy runner (deploy/forgejo-runner.yml,deploy/forgejo-runner-deploy.yml), plus a manifest guard. The gate failures began right after. A malformed mountedrunner-config.yml, a bad--configpath, or a mount that breaks the runner's job-container startup would produce exactly this "die before checkout after 0s" signature.infrastructure#401(seccomp opt-in for one job) also landed this session and is a secondary suspect, though it was scoped to a single opt-in job.Diagnosis + fix
forgejo-runner) logs on the cluster to see why the job container dies before checkout (config parse error, mount path, image pull, seccomp/cli-guard jail).#486is the cause, repair or revert that config indeploy/forgejo-runner.yml/deploy/forgejo-runner-deploy.yml. Land the fix via infrastructure'sdirect-mainworkflow - it does not go through the broken PR gate, so the repair can land even while the gate is down.pull_requestgate job reaches checkout and passes after the runner reconverges.Escalation
If the runner needs a live pod restart / manual convergence that a headless container cannot perform (no cluster reach - cf.
#503,#531), escalate to an ops-role run or a human with live cluster access, and note it on this issue.Impact / why P1
Blocks all aos + ward PR-workflow merges fleet-wide, including implemented-and-waiting PRs (aos#441 restores dropped ward-specs override capability + removes brittle validation; aos#436/#437 Forgejo Actions plumbing). Every director-lane engineer targeting a PR-gated repo will
WARD-OUTCOME: blockeduntil this is fixed.Related
infrastructure#486(runner config, landed 10:56Z).infrastructure#531- deploy-factory-game workflow queue stuck (possibly same runner health).WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-infrastructure-536on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T11:40:18Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-flight-deck/infrastructure#536· branchissue-536· harnesscodex· workflowdirect-mainengineer-codex-infrastructure-536· wardv0.580.0· dispatched2026-07-10T11:40:18ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.580.0).
— Codex, via
ward agentWARD-OUTCOME: done
details
workflow: direct-main; review summary: review gate skipped by ~/.ward/config.yaml default
felt: mechanical. confidence: high. surprise: the live failure was a missing dev-base image tag, not the runner config. follow-ups: added a rollout guard, pushed the workflow retag, and the probe PR reached checkout before failing in repo tests.