Run the gate, the editor suite and the three games on the Gitea runner
game-maker / suite (push) Successful in 7m31s
game-maker / suite (push) Successful in 7m31s
The job image (tools/ci/Dockerfile, label game-maker-ci) carries chromium with the Vulkan drivers, php-cli and the host's fonts; the render device itself comes from the runner's container.options, so a job container gets the Intel GPU instead of llvmpipe. tools/ci/serve.sh puts the checkout behind /game-maker/ with php -S and writes the project shells the seeders need; every tool now takes its server from GAME_MAKER_BASE_URL rather than from a project id repeated in shell scripts. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c47fd5e4dc
commit
4f0908df77
8 files changed
+181
-4
No files matched your search
@@ -788,7 +788,7 @@ npm test # unit tests (core, editor, ui, viewport)
|
||||
npm run typecheck
|
||||
npm run lint # ESLint (type-aware for src and tests); lint:fix for the fixable half
|
||||
npm run format # Prettier over the repo, minus what .prettierignore lists
|
||||
npm run check # typecheck + lint + format:check + tests, what CI would run
|
||||
npm run check # typecheck + lint + format:check + tests, the gate CI runs too
|
||||
./check.sh # the same, ending in `=== CHECK EXIT n ===`: piped into `tail` npm's exit
|
||||
# code is lost (tail's is reported), so a red run reads as green
|
||||
npm run build # writes dist/ and regenerates index.html
|
||||
@@ -914,6 +914,24 @@ he walks on the spot – a clock that ticks without the picture following would
|
||||
|
||||
The workspace folder itself is what nginx serves, so `npm run build` is the deployment.
|
||||
|
||||
### Continuous integration
|
||||
|
||||
Every push runs the whole proof on the Gitea runner: `.gitea/workflows/ci.yml` installs, runs
|
||||
`./check.sh`, builds, then `tools/ci/run-e2e.sh` (the editor suite) and `tools/ci/run-smokes.sh`
|
||||
(the three games). Both scripts source `tools/ci/serve.sh`, which puts the checkout behind
|
||||
`http://127.0.0.1:8080/game-maker/` with `php -S` – the build wires its assets absolutely under
|
||||
`/game-maker/dist/`, so the path segment is not optional – and writes the empty project files the
|
||||
seeders need (`PUT` does not create a project, `POST` hands out a random id). Every tool takes its
|
||||
server from `GAME_MAKER_BASE_URL`.
|
||||
|
||||
The job runs in the image from `tools/ci/Dockerfile` under the label `game-maker-ci`: chromium
|
||||
with the Vulkan drivers, `php-cli`, and the host's font packages, because the checks measure text
|
||||
widths to find click points. The **render device is not in this repo** – `/dev/dri/renderD128`
|
||||
and a 1 GB `/dev/shm` come from `container.options` in the runner's own `config.yaml`, which
|
||||
applies to every job on that runner. Without them chromium falls back to llvmpipe, which gets
|
||||
WebGL 1.0 only. Measured in the job container: `ANGLE (Intel, Vulkan 1.3.230, HD Graphics 630)`,
|
||||
WebGL 2.0, and the same 671 checks as here.
|
||||
|
||||
### Ideas, gaps and bugs
|
||||
|
||||
They live in the issue tracker of the Gitea repo: <https://git.nockal.com/meleki/game-maker/issues>.
|
||||
|
||||
Reference in new issue
Block a user