feat(runner-images): add forgejo-runner-go and forgejo-runner-dind pod images #42

Merged
rcsheets merged 6 commits from feat/runner-images into main 2026-07-01 01:41:48 +00:00
Owner

RunnerPool pod images for Go and Docker-in-Docker workflows, built from the
upstream forgejo-runner binary. Adds container-build-runner-go,
container-build-runner-dind, and container-push-runner-images Makefile
targets tagging each image with a moving "-latest" and immutable
"-" tag per the upstream forgejo-runner major.

The upstream runner base image runs as a non-root user, so lifting the
binary out of it needs USER root in the builder stage.

RunnerPool pod images for Go and Docker-in-Docker workflows, built from the upstream forgejo-runner binary. Adds container-build-runner-go, container-build-runner-dind, and container-push-runner-images Makefile targets tagging each image with a moving "<rv>-latest" and immutable "<rv>-<VERSION>" tag per the upstream forgejo-runner major. The upstream runner base image runs as a non-root user, so lifting the binary out of it needs USER root in the builder stage.
feat(runner-images): add forgejo-runner-go and forgejo-runner-dind pod images
Some checks failed
CI / ci (pull_request) Has been cancelled
CI (next Go) / next-go (tip) (pull_request) Has been cancelled
E2E smoke test / e2e (pull_request) Has been cancelled
ae998994f7
RunnerPool pod images for Go and Docker-in-Docker workflows, built from the
upstream forgejo-runner binary. Adds container-build-runner-go,
container-build-runner-dind, and container-push-runner-images Makefile
targets tagging each image with a moving "<rv>-latest" and immutable
"<rv>-<VERSION>" tag per the upstream forgejo-runner major.

The upstream runner base image runs as a non-root user, so lifting the
binary out of it needs USER root in the builder stage.
Collaborator

Automated review by pr-reviewer v0.29.1 | Safety Check | Mistral Small | tracking id r-44610e-a466ad
This is an AI-generated review and may contain mistakes.

Status: Failed


Review failed. Tracking id r-44610e-a466ad — see logs for details.

Comment @pr-reviewer-bot retry to try again.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.29.1 | Safety Check | Mistral Small | tracking id `r-44610e-a466ad`* *This is an AI-generated review and may contain mistakes.* **Status:** ❌ Failed --- Review failed. Tracking id `r-44610e-a466ad` — see logs for details. Comment `@pr-reviewer-bot retry` to try again.
rcsheets force-pushed feat/runner-images from ae998994f7
Some checks failed
CI / ci (pull_request) Has been cancelled
CI (next Go) / next-go (tip) (pull_request) Has been cancelled
E2E smoke test / e2e (pull_request) Has been cancelled
to 1332d48658
Some checks failed
CI (next Go) / next-go (tip) (pull_request) Failing after 4m7s
CI / ci (pull_request) Failing after 1m20s
E2E smoke test / e2e (pull_request) Failing after 1m30s
2026-07-01 00:36:40 +00:00
Compare
build: pull image bases through the Harbor pull-through cache
Some checks failed
CI (next Go) / next-go (tip) (pull_request) Failing after 3m54s
E2E smoke test / e2e (pull_request) Has been cancelled
CI / ci (pull_request) Has been cancelled
c395a7497d
FROM references to docker.io and code.forgejo.org were pulling directly from
upstream instead of the local Harbor proxy projects (docker-hub, forgejo)
already used elsewhere in CI. Route them through DOCKER_HUB_PROXY and
FORGEJO_PROXY build args, defaulted in both the Makefile and each
Containerfile so publish.yml's direct docker build calls pick them up too.
gcr.io/distroless stays direct since there's no proxy project for it yet.
Collaborator

Automated review by pr-reviewer v0.31.0 | Safety Check | Mistral Small | tracking id r-446976-2d0541
This is an AI-generated review and may contain mistakes.

Status: ⚠️ Unavailable


Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id r-446976-2d0541.

Comment @pr-reviewer-bot retry once it's back.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.31.0 | Safety Check | Mistral Small | tracking id `r-446976-2d0541`* *This is an AI-generated review and may contain mistakes.* **Status:** ⚠️ Unavailable --- Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id `r-446976-2d0541`. Comment `@pr-reviewer-bot retry` once it's back.
ci: pull CI job containers through the Harbor pull-through cache
Some checks failed
CI (next Go) / next-go (tip) (pull_request) Failing after 3m57s
CI / ci (pull_request) Failing after 1m20s
E2E smoke test / e2e (pull_request) Has been cancelled
db0db8f55e
ci.yml and ci-next-go.yml pulled golang:1.26-bookworm directly from
docker.io, unlike publish.yml's identical job container which already
goes through the docker-hub proxy project. Route both through it too.
Collaborator

Automated review by pr-reviewer v0.31.0 | Safety Check | Mistral Small | tracking id r-446a6f-119a63
This is an AI-generated review and may contain mistakes.

Status: ⚠️ Unavailable


Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id r-446a6f-119a63.

Comment @pr-reviewer-bot retry once it's back.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.31.0 | Safety Check | Mistral Small | tracking id `r-446a6f-119a63`* *This is an AI-generated review and may contain mistakes.* **Status:** ⚠️ Unavailable --- Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id `r-446a6f-119a63`. Comment `@pr-reviewer-bot retry` once it's back.
ci: route apt-get through the local APT cache in ci, ci-next-go, and e2e
Some checks failed
CI / ci (pull_request) Has been cancelled
E2E smoke test / e2e (pull_request) Has been cancelled
CI (next Go) / next-go (tip) (pull_request) Has been cancelled
c3d9d97fce
Only publish.yml configured the apt-cache proxy before apt-get update; the
other three workflows' apt-get calls hit the public Debian mirrors directly.
Add the same Acquire::http::Proxy config line used in publish.yml.
Collaborator

Automated review by pr-reviewer v0.31.0 | Safety Check | Mistral Small | tracking id r-446bed-ee34e3
This is an AI-generated review and may contain mistakes.

Status: ⚠️ Unavailable


Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id r-446bed-ee34e3.

Comment @pr-reviewer-bot retry once it's back.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.31.0 | Safety Check | Mistral Small | tracking id `r-446bed-ee34e3`* *This is an AI-generated review and may contain mistakes.* **Status:** ⚠️ Unavailable --- Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id `r-446bed-ee34e3`. Comment `@pr-reviewer-bot retry` once it's back.
ci(e2e): pull the job container through the Harbor pull-through cache
Some checks failed
CI (next Go) / next-go (tip) (pull_request) Failing after 3m56s
CI / ci (pull_request) Failing after 1m25s
E2E smoke test / e2e (pull_request) Failing after 1m32s
625a1ee2fa
e2e.yml pulled golang:1.26-bookworm directly from docker.io, the same
gap already fixed in ci.yml and ci-next-go.yml. Route it through the
docker-hub proxy project too.
Collaborator

Automated review by pr-reviewer v0.31.0 | Safety Check | Mistral Small | tracking id r-446c15-1d3eea
This is an AI-generated review and may contain mistakes.

Status: ⚠️ Unavailable


Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id r-446c15-1d3eea.

Comment @pr-reviewer-bot retry once it's back.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.31.0 | Safety Check | Mistral Small | tracking id `r-446c15-1d3eea`* *This is an AI-generated review and may contain mistakes.* **Status:** ⚠️ Unavailable --- Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id `r-446c15-1d3eea`. Comment `@pr-reviewer-bot retry` once it's back.
fix(runner-images): rename Containerfile.go to avoid colliding with go tooling
All checks were successful
CI (next Go) / next-go (tip) (pull_request) Successful in 4m35s
CI / ci (pull_request) Successful in 2m3s
E2E smoke test / e2e (pull_request) Successful in 3m26s
f4483c3eb1
paths="./..." in controller-gen (and go vet/build) walks every directory
for .go files; runner-images/Containerfile.go matched that glob and failed
to parse as Go source, breaking `make generate`. Rename to
Containerfile.golang, matching Containerfile.dind's naming style.
Collaborator

Automated review by pr-reviewer v0.31.0 | Safety Check | Mistral Small | tracking id r-446ddc-508b07
This is an AI-gene2ated review and may contain mistakes.

Status: ⚠️ Unavailable


Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id r-446ddc-508b07.

Comment @pr-reviewer-bot retry once it's back.

*Automated review by [pr-reviewer](https://git.brooktrails.org/brooktrails/pr-reviewer) v0.31.0 | Safety Check | Mistral Small | tracking id `r-446ddc-508b07`* *This is an AI-gene2ated review and may contain mistakes.* **Status:** ⚠️ Unavailable --- Review unavailable — the inference service isn't reachable right now. This isn't a problem with your PR. Tracking id `r-446ddc-508b07`. Comment `@pr-reviewer-bot retry` once it's back.
rcsheets deleted branch feat/runner-images 2026-07-01 01:41:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
brooktrails/forgejo-runner-operator!42
No description provided.