diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml index eb5865eee5ba..34068ad9bd7c 100644 --- a/.github/workflows/linux_builds.yml +++ b/.github/workflows/linux_builds.yml @@ -23,6 +23,16 @@ jobs: fail-fast: false matrix: include: + - name: Editor (target=editor tests=yes) + cache-name: linux-editor + target: editor + bin: ./bin/godot.linuxbsd.editor.x86_64 + build-mono: false + tests: true + doc-test: true + proj-conv: true + api-compat: true + artifact: true - name: Editor w/ Mono (target=editor) cache-name: linux-editor-mono target: editor diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml index 44d7e007f50e..f1e49bdd28cb 100644 --- a/.github/workflows/windows_builds.yml +++ b/.github/workflows/windows_builds.yml @@ -31,6 +31,25 @@ jobs: sconsflags: debug_symbols=no vsproj=yes vsproj_gen_only=no windows_subsystem=console bin: "./bin/godot.windows.editor.x86_64.exe" + - name: Editor w/ Mono (target=editor) + cache-name: windows-editor-mono + target: editor + sconsflags: module_mono_enabled=yes + bin: ./bin/godot.windows.editor.x86_64.mono.exe + build-mono: true + tests: false # Disabled due freeze caused by mix Mono build and CI + doc-test: true + proj-conv: true + api-compat: true + artifact: true + + - name: Editor w/ clang-cl (target=editor, tests=yes, use_llvm=yes) + cache-name: windows-editor-clang + target: editor + tests: true + sconsflags: debug_symbols=no windows_subsystem=console use_llvm=yes + bin: ./bin/godot.windows.editor.x86_64.llvm.exe + - name: Template (target=template_release) cache-name: windows-template target: template_release @@ -38,6 +57,15 @@ jobs: sconsflags: debug_symbols=no tests=yes bin: "./bin/godot.windows.template_release.x86_64.console.exe" + - name: Template w/ GCC (target=template_release, tests=yes, use_mingw=yes) + cache-name: windows-template-gcc + # MinGW takes MUCH longer to compile; save time by only targeting Template. + target: template_release + tests: true + sconsflags: debug_symbols=no use_mingw=yes + bin: ./bin/godot.windows.template_release.gcc.x86_64.console.exe + compiler: gcc + steps: - uses: actions/checkout@v4 with: @@ -77,6 +105,15 @@ jobs: target: ${{ matrix.target }} tests: ${{ matrix.tests }} + + - name: Generate Glue Code + if: ${{ matrix.cache-name == 'windows-editor-mono' }} + run: ./bin/godot.windows.editor.x86_64.mono.exe --headless --generate-mono-glue modules/mono/glue + + - name: Build GodotSharp + if: ${{ matrix.cache-name == 'windows-editor-mono' }} + run: python modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin + - name: Save Godot build cache uses: ./.github/actions/godot-cache-save with: diff --git a/misc/scripts/install_vulkan_sdk_macos.sh b/misc/scripts/install_vulkan_sdk_macos.sh index 17d567f20801..8ed0fda84ad5 100755 --- a/misc/scripts/install_vulkan_sdk_macos.sh +++ b/misc/scripts/install_vulkan_sdk_macos.sh @@ -4,19 +4,13 @@ set -euo pipefail IFS=$'\n\t' # Download and install the Vulkan SDK. -curl -L "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.dmg" -o /tmp/vulkan-sdk.dmg -hdiutil attach /tmp/vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk -/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan \ +curl -L "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.zip" -o /tmp/vulkan-sdk.zip +unzip /tmp/vulkan-sdk.zip -d /tmp +/tmp/InstallVulkan.app/Contents/MacOS/InstallVulkan \ --accept-licenses --default-answer --confirm-command install -cnt=5 -until hdiutil detach -force /Volumes/vulkan-sdk -do - [[ cnt -eq "0" ]] && break - sleep 1 - ((cnt--)) -done -rm -f /tmp/vulkan-sdk.dmg +rm -rf /tmp/InstallVulkan.app +rm -f /tmp/vulkan-sdk.zip -echo 'Vulkan SDK installed successfully! You can now build Godot by running "scons".' +echo 'Vulkan SDK installed successfully! You can now build Godot by running "scons".' \ No newline at end of file