Sequential jobs (security-gate needs frontend-tests) mean only one container runs at a time. 768MB + Gitea/Vault/OS ~300MB fits within 1GB+swap headroom. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
# act_runner configuration for CASAN CI on Oracle Cloud VPS (1 GB RAM)
|
|
# Deploy to: /opt/gitea/act-runner-config.yaml on the VPS.
|
|
|
|
log:
|
|
level: info
|
|
|
|
runner:
|
|
# Unique name shown in Gitea → Site Administration → Runners
|
|
name: "casan-runner-oracle"
|
|
|
|
# Only 1 concurrent job — VPS has 1 GB RAM (Gitea ≈ 200 MB + job container ≈ 300 MB)
|
|
capacity: 1
|
|
|
|
# Map "ubuntu-latest" jobs to the catthehacker image that has git, curl, jq,
|
|
# openssl, Node.js 18, and Python3 pre-installed. The workflow steps upgrade
|
|
# Node.js to 20 via actions/setup-node and add python-is-python3.
|
|
labels:
|
|
- "ubuntu-latest:docker://catthehacker/ubuntu:act-22.04"
|
|
|
|
# How often the runner polls Gitea for new jobs
|
|
fetch_interval: 5s
|
|
fetch_timeout: 30s
|
|
|
|
# Where to store the runner's working directory (inside the container)
|
|
# Default is /workspace — works fine.
|
|
|
|
container:
|
|
network: bridge
|
|
|
|
# --memory 768m: allow harness tests headroom while leaving ~300MB for Gitea/Vault/OS.
|
|
# Jobs run sequentially (capacity: 1) so two containers never compete.
|
|
# NOTE: act_runner already passes /var/run/docker.sock from its own mounts to job
|
|
# containers; do NOT add it here or Docker will reject the duplicate bind mount.
|
|
options: "--memory 768m --cpus 1.5"
|
|
|
|
valid_volumes:
|
|
- "**"
|