Commit graph

2 commits

Author SHA1 Message Date
Emi Griffith
3678f643ef infra/forgejo: fix ci-runner — node is required by actions/checkout
All checks were successful
PR build (required check) / changes (pull_request) Successful in 6s
secrets-guard / encrypted (pull_request) Successful in 7s
shell-lint / shellcheck (pull_request) Successful in 7s
PR build (required check) / build-backend (pull_request) Has been skipped
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 2s
v1 dropped node:20-bookworm for a Node-free Debian base, on the wrong
assumption that nothing in CI needs Node since the frontend is Go now.
Forgejo's runner executes actions/checkout@v4 as `node dist/index.js`
inside the job container regardless of what the workflow itself runs,
so every job's checkout step failed. Caught from the live run within
a minute; runner was reverted to node:20-bookworm immediately.

v2 keeps the node:20-bookworm base and only adds docker-ce-cli +
docker-buildx-plugin on top, preserving the actual fix (BuildKit
instead of the classic builder, no per-job docker.io install) without
removing a hard dependency.
2026-07-24 11:47:49 -07:00
Emi Griffith
c966ac4801 infra/forgejo: add resource limits and a leaner CI job image
All checks were successful
secrets-guard / encrypted (pull_request) Successful in 5s
PR build (required check) / changes (pull_request) Successful in 9s
shell-lint / shellcheck (pull_request) Successful in 8s
PR build (required check) / build-backend (pull_request) Has been skipped
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 2s
docker-stack.yml previously had no cpu/memory limits on db or forgejo,
unlike every service in the app stack. Add generous limits (several
times observed steady-state usage) as a backstop, overridable via env
vars matching the app stack's convention.

Also add ci-runner/Dockerfile: a slim Debian base with the Docker CLI
+ buildx preinstalled, replacing node:20-bookworm (leftover from when
the frontend was Python/Jinja; nothing in CI uses npm/node anymore).
Closes a COPY --chown group-resolution bug in the classic Docker
builder that apt-get install docker.io currently pulls in on every
build-push job, and drops that install step's cost once cut over.
Built and verified locally; not yet pushed to the registry (needs a
write:package-scoped token) or wired into the live runner.
2026-07-24 00:21:29 -07:00