Files
godot-builder-image/.gitea/workflows/publish-image.yaml

62 lines
1.8 KiB
YAML

name: Publish Builder Images
on:
push:
paths:
- 'Dockerfile.*'
- '*.sh'
jobs:
# JOB 1: Handles the Fedora Base
build-base:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Make scripts executable
run: chmod +x *.sh
- name: Build/Cache Base
uses: docker://quay.io/buildah/stable
env:
USERNAME: ${{ gitea.repository_owner }}
PASSWORD: ${{ secrets.USER_PACKAGE_PASSWORD }}
REGISTRY: gitea.212.63.210.91.nip.io
with:
entrypoint: /bin/sh
args: ./build-base.sh
# JOB 2: Handles the Windows Builder
# Only runs if Base succeeds.
build-windows:
needs: build-base
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Make scripts executable
run: chmod +x *.sh
# --- NEW STEP: Download on Host ---
- name: Pre-download LLVM Toolchain
run: |
TARBALL="llvm-mingw-20250528-ucrt-ubuntu-22.04-x86_64.tar.xz"
# Internal Gitea URL
URL="https://gitea.212.63.210.91.nip.io/api/packages/${{ gitea.repository_owner }}/generic/llvm-mingw/20250528/llvm-mingw.tar.xz"
echo "Fetching from Gitea Registry..."
# Use the Gitea Token for auth
wget --header="Authorization: token ${{ secrets.USER_PACKAGE_PASSWORD }}" -O "$TARBALL" "$URL"
- name: Build Windows Target
uses: docker://quay.io/buildah/stable
env:
USERNAME: ${{ gitea.repository_owner }}
PASSWORD: ${{ secrets.USER_PACKAGE_PASSWORD }}
REGISTRY: gitea.212.63.210.91.nip.io
# We pass the Git SHA here for the final image tag
TAG: ${{ gitea.sha }}
with:
entrypoint: /bin/sh
args: ./build-windows.sh