CI fails at bootstrap: the runner cannot install Go #508

Closed
opened 2026-10-06 06:28:29 +02:00 by clawbot · 3 comments
Collaborator

Since #505 landed, script/cibuild runs script/bootstrap before the build. On the CI runner, whose image starts with empty package lists, script/bootstrap installs Go with apt-get install and stops with E: Unable to locate package golang, so CI fails in seconds (every run of the 505 branch failed this way). The run for next at fa6a9ed is queued and will fail the same way.

The shared fix is sneak/prompts#116 (for sneak/prompts#115), open: refresh the package lists once before the first apt-get install. sneak/dnswatcher carries the same refresh in its own script/bootstrap and its CI is green.

Definition of done

  • script/bootstrap runs apt-get update once per run, before its first apt-get install, with the same code as sneak/prompts#116, disclosed in the PR as a deviation that the next re-vendor replaces.
  • The CI run on the PR's branch passes, end to end, before the PR is reviewed.
  • make check passes.

Model: opus-5-5

Since https://git.eeqj.de/sneak/webhooker/pulls/505 landed, `script/cibuild` runs `script/bootstrap` before the build. On the CI runner, whose image starts with empty package lists, `script/bootstrap` installs Go with `apt-get install` and stops with `E: Unable to locate package golang`, so CI fails in seconds (every run of the 505 branch failed this way). The run for `next` at `fa6a9ed` is queued and will fail the same way. The shared fix is https://git.eeqj.de/sneak/prompts/pulls/116 (for https://git.eeqj.de/sneak/prompts/issues/115), open: refresh the package lists once before the first `apt-get install`. `sneak/dnswatcher` carries the same refresh in its own `script/bootstrap` and its CI is green. ## Definition of done - `script/bootstrap` runs `apt-get update` once per run, before its first `apt-get install`, with the same code as https://git.eeqj.de/sneak/prompts/pulls/116, disclosed in the PR as a deviation that the next re-vendor replaces. - The CI run on the PR's branch passes, end to end, before the PR is reviewed. - `make check` passes. Model: opus-5-5
clawbot added the critical label 2026-10-06 06:28:29 +02:00
clawbot self-assigned this 2026-10-06 06:28:30 +02:00
Author
Collaborator

Labelled critical: next goes red as soon as its queued CI run executes, because the build cannot install Go on the runner.

Model: opus-5-5

Labelled critical: `next` goes red as soon as its queued CI run executes, because the build cannot install Go on the runner. Model: opus-5-5
Author
Collaborator

Amendment to the definition of done: the Actions runner is down for the whole fleet (its disk is full, sneak/project-management#28), so no CI run can start, and the branch's run stays queued. Until it is back, the proof is the same job run locally in the runner's own image: script/cibuild from a fresh clone inside docker.gitea.com/runner-images:ubuntu-latest, as root, with the host's Docker socket mounted, behind the gate lock. It must get past script/bootstrap and finish. Remove every container and image it creates. When the runner is back, the branch's CI run must pass too.

Model: opus-5-5

Amendment to the definition of done: the Actions runner is down for the whole fleet (its disk is full, https://git.eeqj.de/sneak/project-management/issues/28), so no CI run can start, and the branch's run stays queued. Until it is back, the proof is the same job run locally in the runner's own image: `script/cibuild` from a fresh clone inside `docker.gitea.com/runner-images:ubuntu-latest`, as root, with the host's Docker socket mounted, behind the gate lock. It must get past `script/bootstrap` and finish. Remove every container and image it creates. When the runner is back, the branch's CI run must pass too. Model: opus-5-5
Author
Collaborator

#509 makes script/bootstrap run apt-get update once per run, before its first apt-get install, with the same code and comment as sneak/prompts#116. That lets the runner install Go.

  • Deviation: script/bootstrap now differs from the vendored copy until the next re-vendor after sneak/prompts#116 lands.
  • Unverified: the branch's own CI run has not run yet. It is queued behind the runner outage (sneak/project-management#28), so the CI job was run in the runner's image instead.

Model: opus-5-5

https://git.eeqj.de/sneak/webhooker/pulls/509 makes `script/bootstrap` run `apt-get update` once per run, before its first `apt-get install`, with the same code and comment as https://git.eeqj.de/sneak/prompts/pulls/116. That lets the runner install Go. - Deviation: `script/bootstrap` now differs from the vendored copy until the next re-vendor after https://git.eeqj.de/sneak/prompts/pulls/116 lands. - Unverified: the branch's own CI run has not run yet. It is queued behind the runner outage (https://git.eeqj.de/sneak/project-management/issues/28), so the CI job was run in the runner's image instead. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#508