331e3a7202
The parity client's chat, villager and furnace steps went on 1.5 s after sending, so a busy server's late reply landed in the next step (or a click carried a stale state id). Each step now waits until the server answered: its chat line, both slot packets of a shift-click, and the furnace totals the click changes (up to the same 30 s patience). The respawn window keeps only the player's own entity packets: a squid's swim event or a mob coming into view falls into it as each server's ticks fall. Off the known-flaky list: it passes under 2.5 s server stalls every 5 s, where main's client fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
51 lines
3.0 KiB
JSON
51 lines
3.0 KiB
JSON
{
|
|
"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"
|
|
},
|
|
"playhorizon": {
|
|
"ssh": "ludovic@playhorizon",
|
|
"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) && unset WAYLAND_DISPLAY && export DISPLAY=:$(cat ~/.actions-runners/horizon/display)",
|
|
"python": "python3.13",
|
|
"jobs": 6,
|
|
"nice": 10,
|
|
"exclude": {
|
|
"mob_ai": "the vanilla oracle runs out of its 3 GB heap here (OutOfMemoryError in IO workers; passes on the desktop and the Mac) - 2026-10-26 trial",
|
|
"lan_integration": "two clients rendered on the CPU (lavapipe): different timing subtests fail on each run (elytra, consume-release, barter, critical-hits) - 2026-10-26 trial",
|
|
"world_reopen": "failed twice here (no Save and Quit button after reopening; the minecart-count flake), passes on the desktop - 2026-10-26 trial"
|
|
},
|
|
"note": "a partner's server (Ubuntu, 8 EPYC threads, 30 GB, Detroit; tailnet only), used by nothing else: 6 jobs, in the CI runner's environment, slice and Xvfb screen (tools/ci/linux-runner.sh); the always-on Linux host since the ThinkPad stopped running harnesses (2026-10-26)"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"known_flaky": {
|
|
"remote_fireball": "samples the fireball on the wall clock, so a slow host sees it in too few samples (desktop runner, 3 times on 10-26)",
|
|
"world_reopen": "counted 4 minecarts instead of 3 once on a loaded Mac mini runner, then passed at the same head (10-26)"
|
|
}
|
|
}
|