diff --git a/.gitea/workflows/build-engine.yaml b/.gitea/workflows/build-engine.yaml new file mode 100644 index 00000000000..67c47e6cb00 --- /dev/null +++ b/.gitea/workflows/build-engine.yaml @@ -0,0 +1,83 @@ +name: Build Godot Engine +on: + push: + branches: [ "customized-moa" ] # Adjust to your main branch + create: + tags: + - 'v*' # Only trigger release builds on tags like v4.3-custom + +jobs: + build-windows-editor-double: + name: Build Windows Editor (Double Precision) + runs-on: ubuntu-latest + container: + # This image contains the MinGW cross-compiler + image: mrtprodz/godot-gdextension-builder:latest + 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 + 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) + run: | + scons platform=windows target=template_debug precision=double arch=x86_64 -j$(nproc) + + - 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