5 Commits
Author SHA1 Message Date
haylan 8feeb2b428 feat(docker): switch base from barichello/godot-ci to debian:bookworm-slim
Drop the dependency on barichello/godot-ci as a base image (Ubuntu, ~2.4GB
before this repo adds anything, most of it Android SDK/NDK weight this image
never uses). Download Godot's editor and export templates directly from its
official godot-builds releases instead, the same source barichello's own
Dockerfile pulls from.

Alpine was the first candidate considered and rejected: official Godot and
Blender binaries are glibc-only, and Alpine's musl-native alternatives for
both live only on its unpinned edge repo (see wayfinder tickets #4, #5, #6).
A glibc-slim distro turned out not to be meaningfully smaller than Ubuntu
either (#8) — but dropping barichello's Android-SDK-laden base entirely
still nets a real win: local build measured 2343MB total (Godot + export
templates + Blender + mingw-w64 + X11 dev libs) vs. barichello's bare base
alone at 2460MB before this repo's layers were ever added.

publish.yml's barichello-tag gate is replaced with a check against the
godot-builds release we now actually depend on.

Decided via wayfinder map #2, ticket #7:
#7
2026-08-06 23:11:53 +02:00
haylanandClaude-Bot 5ef5fce4a4 fix(publish): free runner disk before build and retry docker push
Auto-tracking the newest Godot/Blender means most nightly runs now
build genuinely new multi-GB layers instead of hitting cache, and
nothing ever pruned old ones — the runner's disk fills up over
successive runs until a push fails. Prune before building, and retry
docker push a few times to ride out transient registry 500s.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 22:03:06 +02:00
haylanandClaude-Bot e1f3cba486 feat: auto-track newest Godot and Blender in publish workflow
Replace the fixed 4.7.1 Dockerfile/workflow pin with:
- a nightly schedule that resolves the newest stable Godot (4.0+) and
  newest stable Blender, and builds+pushes <version> plus a floating
  latest tag only when the Godot version actually changed
- a workflow_dispatch free-text version input to (re)build any specific
  Godot version on demand, always with newest-at-build-time Blender,
  overwriting that tag without touching latest
- scripts/resolve-godot-version.sh and scripts/resolve-blender-url.sh,
  with shared parsing logic in scripts/lib.sh and an offline smoke test
  in scripts/test-lib.sh
- Blender is now fetched directly from download.blender.org instead of
  apt (Ubuntu noble's apt package is stuck on 4.0.2)
- drop the push-to-main trigger; schedule + workflow_dispatch only

Scope is Godot 4.0+ only — .blend import is a Godot 4 feature, so 3.x
builds have no use for the Blender toolchain this image adds.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 20:55:21 +02:00
haylanandClaude-Bot 1d15d6950f fix(publish): explicitly link pushed image to this repository
Gitea packages belong to the owner, not a repo, by default — pushing
alone doesn't surface the image under this repo's Packages tab, and
the org.opencontainers.image.source label some workflows set for this
doesn't auto-link on Gitea (closed feature request, never
implemented). Call the link API explicitly after push instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 20:20:13 +02:00
haylanandClaude-Bot 9d1b3e8a04 feat: add custom godot-ci export-toolchain image
Publish godot-ci image / publish (push) Failing after 7s
Bakes export-template.yml's apt-get toolchain into an image extending
barichello/godot-ci:4.7.1, plus a publish workflow to push it to this
repo's Gitea package registry.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 19:50:34 +02:00