{ "default": [], "hosts": { "macmini": { "ssh": "macmini", "root": "code/horizon-parity", "shell": "zsh -lc", "setup": "source ~/.cargo/env && export JAVA_HOME=$(/usr/libexec/java_home -v 25) && export PATH=$JAVA_HOME/bin:$PATH", "python": "/opt/homebrew/bin/python3.13", "rsync": "/opt/homebrew/bin/rsync", "jobs": 14, "exclude": {} }, "desktop": { "ssh": "desktop", "root": ".actions-runners/horizon/parity-host", "shell": "systemd-run --user --scope --quiet --slice=horizon-ci.slice --unit=horizon-parity-worker-$$ bash -c", "setup": "test ! -e ~/.actions-runners/horizon/paused && set -a && . ~/.actions-runners/horizon/.env && set +a && export PATH=$(cat ~/.actions-runners/horizon/.path) && eval \"$(vscreen env)\"", "jobs": 8, "nice": 19, "note": "ludodesktop, the maintainer's own machine: only while nobody uses it (tools/ci/runner_pause.py: screen locked or untouched for 15 min, no game; a paused desktop refuses workers and stops the running ones, whose harnesses then run here); 8 jobs at most, in the CI runner's environment and slice" }, "thinkpad": { "ssh": "thinkpad", "root": "code/horizon-parity", "shell": "sh -c", "jobs": 2, "nice": 19, "environment": { "PARITY_BUILD_JOBS": "2" }, "note": "hosts the Claude account pool: two harnesses at most, at the lowest priority", "setup": "export PKG_CONFIG_PATH=$HOME/code/horizon-parity/alsa-dev/lib/pkgconfig" } }, "local_only": { "save_roundtrip": "runs the game on a virtual screen (vscreen) with a null ALSA device, or offscreen in the logged-in macOS session" }, "linux_only": {}, "named_only": { "lan_integration": "the whole lan_e2e suite: ~40 min a run on a loaded runner, and single checks flake under load; run it by name, or tools/lan_e2e.py" } }