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
|
name: Build Godot Engine
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ "customized-moa" ] # Adjust to your main branch
|
branches: [ "customized-moa" ]
|
||||||
create:
|
create:
|
||||||
tags:
|
tags:
|
||||||
- 'v*' # Only trigger release builds on tags like v4.3-custom
|
- 'v*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-windows-editor-double:
|
build-windows:
|
||||||
name: Build Windows Editor (Double Precision)
|
name: Build Windows ${{ matrix.name }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Run the entire job inside your new builder container
|
||||||
container:
|
container:
|
||||||
# This image contains the MinGW cross-compiler
|
image: gitea.212.63.210.91.nip.io/${{ gitea.repository_owner }}/godot-builder:latest
|
||||||
image: mrtprodz/godot-gdextension-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:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout Source
|
||||||
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
|
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Build Windows Debug Template (Double Precision)
|
- name: Compile with SCons
|
||||||
# precision=double: Enables 64-bit floats for large worlds
|
# We don't need to install scons/mingw; they are already in the Fedora image!
|
||||||
# platform=windows: Triggers cross-compilation using MinGW
|
|
||||||
# mingw=yes: Explicitly forces MinGW usage (good practice)
|
|
||||||
run: |
|
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
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: windows-double-binaries
|
name: ${{ matrix.artifact_name }}
|
||||||
path: bin/*.windows.template_debug.double.x86_64.dll
|
# Corrected from *.dll to *.exe (Godot templates are executables)
|
||||||
# Note: Double precision builds usually append '.double' to the filename suffix
|
path: bin/*.exe
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user