No description
- Dockerfile 100%
|
All checks were successful
CI / Docker build & push (push) Successful in 2m36s
|
||
|---|---|---|
| .forgejo/workflows | ||
| Dockerfile | ||
| README.md | ||
forgejo-ci-image
Minimal custom image for the Forgejo Actions runner (forgejo-runner), replacing
gitea/runner-images:ubuntu-*. Bakes in git, docker CLI, Node.js 24, and a full
Rust stable toolchain (rustfmt + clippy) so per-workflow setup steps can be dropped.
Build & push
docker login git.freyd.is
docker build -t git.freyd.is/<owner>/forgejo-ci-image:latest .
docker push git.freyd.is/<owner>/forgejo-ci-image:latest
Wire it into the runner
Add a new label in the runner's config.yaml (docker volume) alongside the
existing ones — don't replace them yet, so you can cut over per-repo:
labels:
- ubuntu-latest:docker://gitea/runner-images:ubuntu-latest
- ci-slim:docker://git.freyd.is/<owner>/forgejo-ci-image:latest
Restart the runner container to pick up the config change (it's only read on
start). If any workflow uses docker build/docker compose build, the runner
container itself also needs /var/run/docker.sock mounted through to the job
container — add under the runner's container: section:
container:
options: -v /var/run/docker.sock:/var/run/docker.sock
Workflow changes once a repo switches to ci-slim
runs-on: ci-sliminstead ofubuntu-latest- Drop the
rustup.rsinstall step entirely — Rust is already onPATH. - Drop
actions/setup-node— Node 24 is already onPATH. If a workflow was relying onactions/setup-node'scache: npmfor dependency caching, replace it with an explicitactions/cachestep over~/.npm(setup-node's cache option won't exist anymore without the action).