Files
feuerwerk/.gitea/workflows/ci.yml
T
adminandClaude Opus 5.5 6097307b6d
feuerwerk / gate (push) Successful in 4m30s
feuerwerk / suite (push) Successful in 18m38s
Move repo, CI and the video worker over to the name Feuerwerk (#422)
Stage 3 of the rename. The repo now lives at meleki/feuerwerk, the
runners carry feuerwerk labels and the WSL distro on melektaus-atx is
called feuerwerk-ci. The code has to follow, or CI finds no runner and
the suite no longer picks the GPU path.

- ci.yml: workflow name feuerwerk, jobs on feuerwerk-ci (gate, stein2)
  and feuerwerk-wsl (suite, melektaus-atx).
- GAME_MAKER_* variables are now FEUERWERK_*. This includes
  FEUERWERK_BROWSER=wsl, which the runner config on melektaus-atx sets.
- The video worker runs as container feuerwerk-video with the image
  feuerwerk-video and works on /srv/feuerwerk.
- e2e.sh starts the unit feuerwerk-e2e, the CI image keeps its paths
  under the new name.
- README and repo links point to git.nockal.com/meleki/feuerwerk. The
  old URLs still redirect with 301.

Both runners keep their old labels until the first CI run with this
ci.yml is through. Then they go, together with the image tag
game-maker-ci:latest and GAME_MAKER_BROWSER in the atx config.

Tests:
- Gate on melektaus-atx through the renamed distro: CHECK EXIT 0,
  307 files, 4756 tests.
- e2e 60 on melektaus-atx: ALL PASSED, 20 checks. Renderer is the
  RTX 4070 through D3D12, so FEUERWERK_BROWSER reaches the GPU path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:42:52 +02:00

71 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
#
# 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.
name: feuerwerk
on:
push:
workflow_dispatch:
jobs:
gate:
runs-on: feuerwerk-ci
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Install
run: npm ci --no-audit --no-fund
- name: Gate
run: ./check.sh
env:
GM_TEST_WORKERS: 2
# The API's own rules (#180, #179, #231, #266). Not part of check.sh: the host the editor is built
# on has no PHP, the image does.
- name: PHP tests
run: |
php tests/php/accounts.test.php
php tests/php/snapshots.test.php
php tests/php/releases.test.php
php tests/php/files.test.php
php tests/php/videos.test.php
suite:
runs-on: feuerwerk-wsl
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Versions
run: |
node --version
chromium --version
php --version | head -1
- name: Install
run: npm ci --no-audit --no-fund
- name: Build
run: npm run build
- name: Editor suite
run: tools/ci/run-e2e.sh
- name: Example games
run: tools/ci/run-smokes.sh