dc03d71898
- infra/Dockerfile.runner-base: new Ubuntu 24.04 image with Python 3.12 and Node 22 LTS pre-installed, tagged py3.12-node22. Eliminates the ~3-4 min deadsnakes PPA install that ran on every test job. - infra/runner-compose.yml: update ubuntu-latest label to use runner-base:py3.12-node22 instead of node:20-bullseye. - .forgejo/workflows/ci.yml: remove Python 3.12 install steps (now in base image), add actions/cache for pip keyed on pyproject.toml hash, bump node-version 20 → 22. - Dockerfile: bump frontend build stage node:20-alpine → node:22-alpine. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
1.0 KiB
YAML
26 lines
1.0 KiB
YAML
# Forgejo Actions runner — deploy as a standalone Portainer stack.
|
|
# The runner connects outbound to Forgejo to receive jobs; no inbound ports needed.
|
|
# /var/run/docker.sock is mounted so the build job can run Docker Buildx.
|
|
#
|
|
# Setup: see the walkthrough at infra/RUNNER_SETUP.md
|
|
|
|
services:
|
|
act_runner:
|
|
image: gitea/act_runner:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- GITEA_INSTANCE_URL=https://git.fabledsword.com
|
|
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN}
|
|
- GITEA_RUNNER_NAME=swarm-runner
|
|
# Maps the runs-on: ubuntu-latest label used in workflow files to a Docker image.
|
|
- GITEA_RUNNER_LABELS=ubuntu-latest:docker://git.fabledsword.com/bvandeusen/runner-base:py3.12-node22
|
|
- CONFIG_FILE=/config/config.yml
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- act_runner_data:/data
|
|
- /nfs/data/fabledsword/act_runner/config.yml:/config/config.yml:ro
|
|
# No network needed — runner only makes outbound HTTPS connections to Forgejo.
|
|
|
|
volumes:
|
|
act_runner_data:
|