Build engine in matrix with own builder
Some checks failed
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-debug, Debug Template, no, template_debug) (push) Failing after 5s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-editor, Editor, yes, editor) (push) Failing after 30s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-release, Release Template, yes, template_release) (push) Failing after 4s
Some checks failed
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-debug, Debug Template, no, template_debug) (push) Failing after 5s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-editor, Editor, yes, editor) (push) Failing after 30s
Build Godot Engine / Build Windows ${{ matrix.name }} (godot-windows-release, Release Template, yes, template_release) (push) Failing after 4s
This commit is contained in:
@ -1,83 +1,72 @@
|
||||
name: Build Godot Engine
|
||||
on:
|
||||
push:
|
||||
branches: [ "customized-moa" ] # Adjust to your main branch
|
||||
branches: [ "customized-moa" ]
|
||||
create:
|
||||
tags:
|
||||
- 'v*' # Only trigger release builds on tags like v4.3-custom
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build-windows-editor-double:
|
||||
name: Build Windows Editor (Double Precision)
|
||||
build-windows:
|
||||
name: Build Windows ${{ matrix.name }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Run the entire job inside your new builder container
|
||||
container:
|
||||
# This image contains the MinGW cross-compiler
|
||||
image: mrtprodz/godot-gdextension-builder:latest
|
||||
image: gitea.212.63.210.91.nip.io/${{ gitea.repository_owner }}/godot-builder:latest
|
||||
# Credentials are required to pull from your private registry
|
||||
credentials:
|
||||
username: ${{ gitea.actor }}
|
||||
password: ${{ secrets.USER_PACKAGE_PASSWORD }}
|
||||
# Note: If this fails to pull due to SSL, we may need to use a 'docker run' step approach instead.
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# 1. The Editor (The IDE)
|
||||
- name: Editor
|
||||
target: editor
|
||||
production: yes
|
||||
artifact_name: godot-windows-editor
|
||||
|
||||
# 2. Debug Template (For testing game logic)
|
||||
- name: Debug Template
|
||||
target: template_debug
|
||||
production: no
|
||||
artifact_name: godot-windows-debug
|
||||
|
||||
# 3. Release Template (For final export)
|
||||
- name: Release Template
|
||||
target: template_release
|
||||
production: yes
|
||||
artifact_name: godot-windows-release
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Build Editor (Double Precision)
|
||||
# target=editor: Builds the IDE tools, not just the runtime
|
||||
# precision=double: Enables 64-bit floats
|
||||
# production=yes: Optimizes size and performance (strips symbols)
|
||||
run: |
|
||||
scons platform=windows target=editor precision=double arch=x86_64 production=yes -j$(nproc)
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: godot-windows-editor-double
|
||||
# Captures the main executable and the console wrapper
|
||||
path: bin/*.exe
|
||||
|
||||
build-windows-debug-double:
|
||||
name: Build Windows Debug Template (Double Precision)
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: mrtprodz/godot-gdextension-builder:latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Build Windows Debug Template (Double Precision)
|
||||
# precision=double: Enables 64-bit floats for large worlds
|
||||
# platform=windows: Triggers cross-compilation using MinGW
|
||||
# mingw=yes: Explicitly forces MinGW usage (good practice)
|
||||
- name: Compile with SCons
|
||||
# We don't need to install scons/mingw; they are already in the Fedora image!
|
||||
run: |
|
||||
scons platform=windows target=template_debug precision=double arch=x86_64 -j$(nproc)
|
||||
echo "Compiling ${{ matrix.name }}..."
|
||||
|
||||
# Godot 4 SCons Command
|
||||
scons platform=windows \
|
||||
target=${{ matrix.target }} \
|
||||
arch=x86_64 \
|
||||
precision=double \
|
||||
production=${{ matrix.production }} \
|
||||
-j$(nproc)
|
||||
|
||||
- name: Verify Output
|
||||
run: ls -l bin/
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-double-binaries
|
||||
path: bin/*.windows.template_debug.double.x86_64.dll
|
||||
# Note: Double precision builds usually append '.double' to the filename suffix
|
||||
|
||||
build-windows-release-double:
|
||||
name: Build Windows Release Template (Double Precision)
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: mrtprodz/godot-gdextension-builder:latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Build Windows Release Template (Double Precision)
|
||||
# precision=double: Enables 64-bit floats for large worlds
|
||||
# platform=windows: Triggers cross-compilation using MinGW
|
||||
# mingw=yes: Explicitly forces MinGW usage (good practice)
|
||||
run: |
|
||||
scons platform=windows target=template_release precision=double arch=x86_64 -j$(nproc)
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-double-binaries
|
||||
# Note: Double precision builds usually append '.double' to the filename suffix
|
||||
path: bin/*.windows.template_release.double.x86_64.dll
|
||||
|
||||
name: ${{ matrix.artifact_name }}
|
||||
# Corrected from *.dll to *.exe (Godot templates are executables)
|
||||
path: bin/*.exe
|
||||
Reference in New Issue
Block a user