Files
godot/.gitea/workflows/build-engine.yaml
olof.pettersson a90daf08c2
All checks were successful
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-debug, Debug Template, no, template_debug) (push) Successful in 22m8s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-editor, Editor, yes, editor) (push) Successful in 34m29s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-release, Release Template, yes, template_release) (push) Successful in 23m1s
Build Godot Engine / publish (push) Successful in 54s
Checkout the repo
2025-12-03 10:24:24 +01:00

85 lines
2.5 KiB
YAML

name: Build Godot Engine
on:
push:
branches: [ "customized-moa" ]
jobs:
build-windows:
name: Build Windows ${{ matrix.name }}
runs-on: ubuntu-latest
# Run on Host (so Checkout works)
strategy:
fail-fast: false
matrix:
include:
- name: Editor
target: editor
production: yes
artifact_name: godot-windows-editor
- name: Debug Template
target: template_debug
production: no
artifact_name: godot-windows-debug
- name: Release Template
target: template_release
production: yes
artifact_name: godot-windows-release
steps:
- name: Checkout Source
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile with SCons
uses: docker://quay.io/buildah/stable
env:
REGISTRY: gitea.212.63.210.91.nip.io
OWNER: ${{ gitea.repository_owner }}
IMAGE_NAME: godot-builder-windows
IMAGE_TAG: 513d6efc259bb974ee2078adfa5f0994d0796a57
USERNAME: ${{ gitea.actor }}
PASSWORD: ${{ secrets.USER_PACKAGE_PASSWORD }}
# Build Arguments (From Matrix)
PLATFORM: windows
TARGET: ${{ matrix.target }}
PRODUCTION: ${{ matrix.production }}
with:
entrypoint: /bin/sh
# Just run the file! No messy YAML strings.
args: .gitea/workflows/scripts/build-with-buildah.sh
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact_name }}
path: bin/*.exe
# --- JOB 2: PUBLISH (Serial) ---
publish:
needs: build-windows
runs-on: ubuntu-latest
steps:
- name: Checkout Source
uses: actions/checkout@v3
with:
submodules: recursive
- name: Download All Artifacts
uses: actions/download-artifact@v3
with:
path: dist
- name: Package and Publish
uses: docker://alpine:latest
env:
# Pass config & secrets
API_URL: https://gitea.212.63.210.91.nip.io/api/packages/${{ gitea.repository_owner }}/generic
TOKEN: ${{ secrets.USER_PACKAGE_PASSWORD }}
ACTOR: ${{ gitea.actor }}
VERSION: ${{ gitea.sha }}
with:
entrypoint: /bin/sh
# The workspace (containing 'dist' and 'scripts') is automatically mounted
args: .gitea/workflows/scripts/publish.sh