iac/ansible/roles/forgejo_runner/templates/config.yaml.j2
Sergei Poljanski a79b110259 forgejo-runner: match the live runner and pin the nix image
The role had drifted from what runs on asxpio-services: capacity 4,
a bridge network per workflow so service containers start, the Docker
socket automounted into jobs, and a nix-latest label backed by a
persistent nix-store volume.

That volume caused a CI outage on 2026-10-18. nixos/nix:latest moved on,
and since the image's /bin/sh and /etc/nix/nix.conf link into /nix/store,
the old volume left them dangling. Pin the image through
forgejo_runner_nix_version and name the volume after it, so a bump is
deliberate and always gets a store seeded from its own image.

Assisted-by: Claude:opus-5-5
2026-10-18 09:48:14 +04:00

48 lines
1.3 KiB
Django/Jinja

log:
level: info
job_level: info
runner:
file: /data/.runner
capacity: {{ forgejo_runner_capacity }}
envs: {}
env_file: .env
timeout: {{ forgejo_runner_timeout }}
shutdown_timeout: {{ forgejo_runner_timeout }}
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
report_interval: 1s
labels:
- "ubuntu-latest:docker://node:20-bookworm"
- "ubuntu-22.04:docker://node:20-bookworm"
- "ubuntu-24.04:docker://node:22-bookworm"
- "debian-latest:docker://debian:bookworm"
- "debian-12:docker://debian:bookworm"
- "debian-11:docker://debian:bullseye"
- "arch-latest:docker://archlinux:latest"
- "nginx-latest:docker://nginx:latest"
- "nginx-alpine:docker://nginx:alpine"
- "node-20:docker://node:20"
- "node-22:docker://node:22"
- "python-3.11:docker://python:3.11"
- "python-3.12:docker://python:3.12"
- "alpine-latest:docker://alpine:latest"
- "nix-latest:docker://nixos/nix:{{ forgejo_runner_nix_version }}"
cache:
enabled: true
port: 0
dir: ""
container:
# "" so each workflow gets a bridge network; services (Postgres) need it.
network: ""
enable_ipv6: false
privileged: false
options: "-v nix-store-{{ forgejo_runner_nix_version }}:/nix"
valid_volumes:
- '**'
docker_host: "automount"
force_pull: false
force_rebuild: false