No description
- Dockerfile 100%
|
All checks were successful
Build and push image / build (push) Successful in 5m15s
|
||
|---|---|---|
| .forgejo/workflows | ||
| Dockerfile | ||
| README.md | ||
navicore-forgejo-runner
Custom container image for Forgejo Actions runners, pre-loaded with the
toolchain that the patch-seq
family of repos needs to run just ci.
What's baked in
| Tool | Version | Source |
|---|---|---|
| Debian | bookworm | base image |
| clang | 19 | apt.llvm.org |
| Rust | 1.95.0 | rustup (minimal + fmt/clippy) |
| just | 1.42.4 | pinned GitHub release tarball |
| build-essential, libedit-dev, libssl-dev, pkg-config, jq, git, curl, wget, gnupg | distro default | apt |
Versions are ARGs in the Dockerfile. Bumping is one-line.
Publishing
The .forgejo/workflows/build.yaml workflow builds and pushes
git.navicore.tech/navicore/navicore-forgejo-runner on every push to
main, with both a :latest tag and an immutable :<sha> tag.
Required repo secrets:
REGISTRY_USERREGISTRY_TOKEN
Using the image from a workflow
Once a runner is registered against this image (Forgejo runner
configuration, labels: in the runner's config.yml), a consumer
workflow can target it directly:
jobs:
ci:
runs-on: navicore-rust # or whatever label maps to this image
steps:
- uses: actions/checkout@v4
- run: just ci
The patch-seq ci-linux.yml keeps its apt-based clang install for now so
the workflow still runs on stock runners; it can be slimmed down once
this image is the default.
Local build
docker build -t navicore-forgejo-runner:dev .
docker run --rm -it navicore-forgejo-runner:dev clang --version
docker run --rm -it -v "$PWD/../patch-seq":/workspace navicore-forgejo-runner:dev just ci