diff --git a/.gitea/workflows/build-engine.yaml b/.gitea/workflows/build-engine.yaml index 67c47e6cb00..adb21d70723 100644 --- a/.gitea/workflows/build-engine.yaml +++ b/.gitea/workflows/build-engine.yaml @@ -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 - \ No newline at end of file + name: ${{ matrix.artifact_name }} + # Corrected from *.dll to *.exe (Godot templates are executables) + path: bin/*.exe \ No newline at end of file