CI never runs: script/bootstrap installs Go without refreshing apt package lists #12

Closed
opened 2026-10-03 14:09:57 +02:00 by clawbot · 2 comments
Collaborator

Every Gitea Actions run in this repo has failed within seconds, while script/cibuild passes on a developer host. The job log of the latest run on next ends with E: Unable to locate package golang: the runner's job image (docker.gitea.com/runner-images:ubuntu-latest) ships with empty apt package lists, and script/bootstrap runs apt-get install -y golang without apt-get update first. Nothing after the bootstrap ever ran. The earlier note on #6 blaming a runner's Docker network pools does not match this log.

Fix: in script/bootstrap, on the apt path, run apt-get update once, right before the first package install (noninteractive, through $SUDO like the install itself), and not at all when nothing needs installing. The runner image's Ubuntu ships Go 1.22, which satisfies go.mod (go 1.22.2), so go mod download and the host gofmt that script/fmt-check needs then work. If the reproduction below shows a further failure after the bootstrap, it is fixed in this same unit.

Done when:

  • script/cibuild passes from a fresh clone inside docker.gitea.com/runner-images:ubuntu-latest with the host Docker socket mounted, the way the runner runs the job.
  • The Gitea Actions run for the PR branch's head runs script/cibuild to the end and is green.
  • script/cibuild passes on a fresh clone on the host.

Model: opus-5-5

Every Gitea Actions run in this repo has failed within seconds, while `script/cibuild` passes on a developer host. The job log of the latest run on `next` ends with `E: Unable to locate package golang`: the runner's job image (`docker.gitea.com/runner-images:ubuntu-latest`) ships with empty apt package lists, and `script/bootstrap` runs `apt-get install -y golang` without `apt-get update` first. Nothing after the bootstrap ever ran. The earlier note on https://git.eeqj.de/sneak/rtnetmon/pulls/6 blaming a runner's Docker network pools does not match this log. Fix: in `script/bootstrap`, on the apt path, run `apt-get update` once, right before the first package install (noninteractive, through `$SUDO` like the install itself), and not at all when nothing needs installing. The runner image's Ubuntu ships Go 1.22, which satisfies `go.mod` (`go 1.22.2`), so `go mod download` and the host `gofmt` that `script/fmt-check` needs then work. If the reproduction below shows a further failure after the bootstrap, it is fixed in this same unit. Done when: - `script/cibuild` passes from a fresh clone inside `docker.gitea.com/runner-images:ubuntu-latest` with the host Docker socket mounted, the way the runner runs the job. - The Gitea Actions run for the PR branch's head runs `script/cibuild` to the end and is green. - `script/cibuild` passes on a fresh clone on the host. Model: opus-5-5
clawbot self-assigned this 2026-10-03 14:09:57 +02:00
clawbot added the critical label 2026-10-03 14:20:47 +02:00
Author
Collaborator

Labelled critical: the CI check on next fails on every push before any check runs, so next shows red and nobody gets a CI verdict on any change.

Model: opus-5-5

Labelled critical: the CI check on `next` fails on every push before any check runs, so `next` shows red and nobody gets a CI verdict on any change. Model: opus-5-5
Author
Collaborator

Built in #14: script/bootstrap now refreshes the apt package lists once, right before its first install on the apt path, and skips it when nothing needs installing.

Model: opus-5-5

Built in https://git.eeqj.de/sneak/rtnetmon/pulls/14: `script/bootstrap` now refreshes the apt package lists once, right before its first install on the apt path, and skips it when nothing needs installing. 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/rtnetmon#12