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
48 lines
1.3 KiB
Django/Jinja
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
|