Files
godot/.gitea/workflows/build-engine.yaml
Olof Pettersson bf4cb1830e
Some checks failed
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-debug, Debug Template, no, template_debug) (push) Successful in 21m43s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-editor, Editor, yes, editor) (push) Successful in 33m49s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-release, Release Template, yes, template_release) (push) Successful in 22m51s
Build Godot Engine / publish (push) Failing after 18s
Better publish script
2025-12-02 23:54:44 +01:00

80 lines
2.4 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: 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