feat: add custom godot-ci export-toolchain image
Publish godot-ci image / publish (push) Failing after 7s
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>
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
name: Publish godot-ci image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
paths: [Dockerfile]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Log in to Gitea registry
|
||||||
|
run: echo "${{ secrets.REGISTRY_PUSH_PAT }}" | docker login git.arthurerlich.de -u haylan --password-stdin
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
run: |
|
||||||
|
docker build -t git.arthurerlich.de/haylan/godot-ci:4.7.1 .
|
||||||
|
docker push git.arthurerlich.de/haylan/godot-ci:4.7.1
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
FROM barichello/godot-ci:4.7.1
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
libfontconfig1 \
|
||||||
|
build-essential scons pkg-config xz-utils curl \
|
||||||
|
libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev \
|
||||||
|
libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev libwayland-dev \
|
||||||
|
mingw-w64 \
|
||||||
|
blender \
|
||||||
|
&& update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix \
|
||||||
|
&& update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# godot-ci
|
||||||
|
|
||||||
|
Custom image extending `barichello/godot-ci:4.7.1` with the Godot 4.7.1 export-template toolchain
|
||||||
|
pre-installed, so `Project4x`'s `export-template.yml` doesn't `apt-get install` it on every release
|
||||||
|
run.
|
||||||
|
|
||||||
|
Built from the handoff spec at `Project4x`'s `docs/handoff/godot-ci-custom-image.md`.
|
||||||
|
|
||||||
|
## Image
|
||||||
|
|
||||||
|
`git.arthurerlich.de/haylan/godot-ci:4.7.1`
|
||||||
|
|
||||||
|
Published automatically by `.gitea/workflows/publish.yml` on every push to `main` that touches
|
||||||
|
`Dockerfile`, or manually via workflow dispatch.
|
||||||
|
|
||||||
|
A Godot version bump means updating `Dockerfile`'s `FROM` line and the tag in both the workflow
|
||||||
|
and this README together.
|
||||||
|
|
||||||
|
## Auth
|
||||||
|
|
||||||
|
The publish workflow pushes to this repo's Gitea package (container) registry using a **Personal
|
||||||
|
Access Token** stored as the repo secret `REGISTRY_PUSH_PAT` — the built-in per-run `GITEA_TOKEN`
|
||||||
|
cannot push to the package registry on this instance.
|
||||||
|
|
||||||
|
- **Scope:** `write:package` (`read:package` too if the workflow ever needs to pull the image
|
||||||
|
back before tagging).
|
||||||
|
- **Owner:** TODO — fill in once the token is generated (Settings → Applications → Generate New
|
||||||
|
Token on the account that should own the published packages).
|
||||||
|
|
||||||
|
## Consuming this image
|
||||||
|
|
||||||
|
In `Project4x`'s `.gitea/workflows/export-template.yml`:
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- container: barichello/godot-ci:4.7.1
|
||||||
|
+ container: git.arthurerlich.de/haylan/godot-ci:4.7.1
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user