From b268891f48f54577b7bb837cb7ec22fc688facff Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Fri, 30 Oct 2026 15:40:40 +0100 Subject: [PATCH] Run the CI suite on stein2 next to the gate Suite 759 went red on e2e 67a-ii (firstAt 0.083 s) while a job of another project loaded the GPU on melektaus-atx. The suite measures frame timings, so it should not share that GPU. - The suite job now runs on `feuerwerk-ci`, the runner on stein2, like the gate. Its config.yaml already passes /dev/dri/renderD128 and a 1 GB /dev/shm into the job container, and has capacity 2. - The header of ci.yml says how to move the suite back to `feuerwerk-wsl`, and that GM_TEST_WORKERS now matters again, because gate and suite share the cores of one machine. Tests: YAML parses, both jobs name `feuerwerk-ci`. Not run in CI yet, the next push starts it. Co-Authored-By: Claude Opus 5.5 --- .gitea/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 79f14249..8876fad1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1,19 +1,19 @@ # Runs the whole proof on the Gitea runner: gate, the editor suite and the three example games. # -# The suite runs on `feuerwerk-wsl`, the runner in the WSL2 distro feuerwerk-ci on -# melektaus-atx (#283). Its label picks the image built from tools/ci/Dockerfile. The GPU -# (/dev/dxg and the Windows driver libraries), /dev/shm and FEUERWERK_BROWSER=wsl come from that -# runner's own config.yaml, not from here – without them chromium falls back to software WebGL and -# the harness stops. The gate needs no GPU and runs on `feuerwerk-ci`, the runner on stein2 with -# the same image. Pointing the suite at that label too moves the browser runs back to stein2. +# Both jobs run on `feuerwerk-ci`, the runner on stein2. Its label picks the image built from +# tools/ci/Dockerfile. The GPU (/dev/dri/renderD128) and /dev/shm come from that runner's own +# config.yaml, not from here – without them chromium falls back to software WebGL and the harness +# stops. The suite ran on `feuerwerk-wsl` in the WSL2 distro feuerwerk-ci on melektaus-atx (#283), +# whose config adds /dev/dxg and FEUERWERK_BROWSER=wsl. Pointing the suite at that label again +# moves the browser runs back there. It moved to stein2 because other jobs on melektaus-atx share +# its GPU and made the suite's frame timings wobble. # # Two jobs without `needs:`, so they start together. The gate does not stand in front of the # suite: a lint error used to cost the full e2e run before it was reported, and the run reported # it after six minutes instead of one. Both still have to pass for the push to be green. # -# On two runners the gate's vitest no longer shares cores with the suite's chromium, which -# measures text widths and frame counts. GM_TEST_WORKERS still caps vitest at two workers, for the -# day both jobs share one runner again. +# On one runner the gate's vitest shares cores with the suite's chromium, which measures text +# widths and frame counts. GM_TEST_WORKERS caps vitest at two workers for that. name: feuerwerk on: @@ -51,7 +51,7 @@ jobs: php tests/php/rights.test.php suite: - runs-on: feuerwerk-wsl + runs-on: feuerwerk-ci timeout-minutes: 45 steps: - uses: actions/checkout@v4