Add CI builder image and use it in the pipeline

builder.Dockerfile bakes the export step's dependencies into
git.teletype.hu/internal/love-builder and pre-fetches love.js to
/opt/lovejs.zip; the Makefile prefers the cached copy and falls
back to downloading from GitHub outside the image.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-31 19:17:14 +02:00
co-authored by Claude Fable 5
parent 5f81f7c179
commit 7786f078d6
4 changed files with 50 additions and 4 deletions
+16
View File
@@ -29,4 +29,20 @@ The pipeline uploads `$(PROJECT)-$(VERSION).love.zip`,
the droparea, then triggers `/update` twice: once with `platform=love`
(desktop package) and once with `platform=love-web` (web build).
## Builder image
`builder.Dockerfile` bakes the pipeline's export-step dependencies
(zip/unzip/curl/make + `luac` for the syntax check) into
`git.teletype.hu/internal/love-builder`, and pre-fetches love.js to
`/opt/lovejs.zip` — the Makefile uses the cached copy when present
and only falls back to downloading from GitHub outside the image:
```sh
docker build --platform linux/amd64 -f builder.Dockerfile \
-t git.teletype.hu/internal/love-builder:latest .
docker push git.teletype.hu/internal/love-builder:latest
```
Rebuild the image to pick up a newer love.js snapshot.
Detailed documentation lives on the wiki: `/development/love`.