Files
feuerwerk/tools/ci/Dockerfile
T
rootandClaude Opus 5 4f0908df77
game-maker / suite (push) Successful in 7m31s
Run the gate, the editor suite and the three games on the Gitea runner
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>
2026-09-12 20:01:45 +02:00

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/*