docs/ci.md updated to reflect the running state + the one sudo command to make the runner a permanent systemd service. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015jtxAiu5dAW4WxCNdGkrkJ
1.8 KiB
CI
.gitea/workflows/checkpoint.yml runs the full checkpoint suite
(scripts/run_checkpoint_tests.py: migrations on a fresh DB, backend
pytest, all Godot smoke tests, the 2-player multiplayer test, and the
fresh-clone boot check) on every push to main and every PR.
Status: live
Set up 2026-09-05:
- Gitea Actions enabled (
[actions] ENABLED = truein/DATA/AppData/forgejo/gitea/conf/app.ini, container restarted; a timestamped.bakis next to it). act_runnerv0.2.13 registered asagp-hostwith labelhost(host execution mode — jobs run directly on the AGP box, which already has Docker,~/godot/godot, and Python). Lives in~/act-runner/.- Green on the first successful run (
d76bf4d).
The workflow uses no JavaScript actions (no actions/checkout), so the
host needs no Node: checkout is a shallow git fetch from the local Gitea
using the injected ${{ github.token }}, and the suite runs in a venv the
job builds (host Python is PEP-668 externally-managed).
Make the runner permanent (one command, needs sudo)
The runner currently runs as a plain background process — it won't survive a
reboot. A unit file is ready at ~/act-runner/act-runner.service:
sudo cp ~/act-runner/act-runner.service /etc/systemd/system/
sudo systemctl daemon-reload
pkill -f 'act_runner daemon' # stop the temporary background one
sudo systemctl enable --now act-runner
Interim / local
python scripts/run_checkpoint_tests.py
— also what /checkpoint/<PC> on the dashboard runs before a playtest build.
Security note
A host-mode runner executes whatever a workflow says, directly on the box,
as daddy (in the docker group). Fine for a single-maintainer private
repo; revisit if the repo gets outside contributors (switch to a
docker-mode runner or an isolated VM).