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>
22 lines
1.2 KiB
Docker
22 lines
1.2 KiB
Docker
# The image behind the Gitea Actions label `game-maker-ci`. It is built on the host and kept
|
|
# local (the runner has `force_pull: false`), so a change here needs a rebuild:
|
|
#
|
|
# DOCKER_BUILDKIT=0 docker build --network git_default -t game-maker-ci:latest tools/ci
|
|
#
|
|
# Both flags are needed on stein2: DNS is dead in Docker's default bridge network, and Buildkit
|
|
# cannot join a named network.
|
|
FROM node:22-bookworm
|
|
|
|
# chromium + the Vulkan drivers: the e2e harness starts chromium with --use-angle=vulkan and has
|
|
# no software fallback. The render device itself comes from the runner's container.options;
|
|
# without it chromium falls back to llvmpipe and gets WebGL 1.0 only.
|
|
# php-cli serves api/index.php, which every tool loads and saves its project through.
|
|
# The fonts are the host's set on purpose: the checks measure text widths to find click points,
|
|
# so a different set moves them.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
chromium mesa-vulkan-drivers libvulkan1 \
|
|
php-cli php-mbstring \
|
|
fonts-dejavu-core fonts-droid-fallback fonts-noto-color-emoji fonts-noto-mono \
|
|
fonts-texgyre fonts-urw-base35 \
|
|
&& rm -rf /var/lib/apt/lists/*
|