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 <noreply@anthropic.com>
This commit is contained in:
adminandClaude Opus 5.5 committed 2026-10-30 15:40:40 +01:00
1 parent e53121a0bb
commit b268891f48
1 file changed
+10 -10
+10 -10
View File
@@ -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