name: checkpoint # Runs the full checkpoint suite (migrations, backend pytest, Godot smoke # tests, multiplayer, fresh-clone boot) on every push and PR. # # Runs on a `host`-label act_runner on the AGP box: Docker, ~/godot/godot, # and Python 3 are already there. Deliberately uses no JavaScript actions # (actions/checkout etc.) so the host needs no Node install -- checkout is a # plain git clone from the local Gitea. See docs/ci.md. on: push: branches: [main] pull_request: jobs: checkpoint: runs-on: host steps: - name: Checkout run: | set -eu rm -rf repo && mkdir repo && cd repo git init -q git remote add origin "http://x:${{ github.token }}@localhost:3000/${{ github.repository }}.git" git fetch -q --depth 1 origin "${{ github.sha }}" git checkout -q FETCH_HEAD - name: Python env working-directory: repo run: | set -eu python3 -m venv .venv .venv/bin/pip install --quiet --upgrade pip .venv/bin/pip install --quiet -r backend/requirements.txt - name: Checkpoint suite working-directory: repo run: .venv/bin/python scripts/run_checkpoint_tests.py --postgres-port 25690 --backend-port 18690