Answers wayfinder issue #6: Alpine's community/edge repo ships a
posix-threads-only mingw-w64-gcc cross toolchain, but it's edge-only
(not in a stable release) and no primary source confirms anyone has
built Godot Windows export templates with it.
Related to #6
scripts/resolve-blender-url.sh, resolve-godot-version.sh, and
test-lib.sh were committed as mode 644 (Windows checkouts don't
preserve the git exec bit, and it was never set). publish.yml invokes
the first two as ./scripts/resolve-*.sh, which needs it — the runner
failed with "Permission denied". lib.sh stays 644, it's only sourced.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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>
blender --version failed with "libxkbcommon.so.0: cannot open shared
object file" — libxkbcommon0, libsm6, and libice6 aren't pulled in by
anything else in the image. Caught via a local docker build (see
README), which the prior push-only workflow never exercised.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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>
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>
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>