Browse Source

CI: Build macOS binary without Vulkan if Vulkan SDK fails installing

It's not rare for this step to fail, either due to network errors,
or occasional changes in how the Vulkan SDK is distributed which require
editing our script.
Rémi Verschelde 5 months ago
parent
commit
b84828bca7
1 changed files with 10 additions and 3 deletions
  1. 10 3
      .github/workflows/macos_builds.yml

+ 10 - 3
.github/workflows/macos_builds.yml

@@ -44,13 +44,20 @@ jobs:
         uses: ./.github/actions/godot-deps
 
       - name: Setup Vulkan SDK
+        id: vulkan-sdk
         run: |
-          sh misc/scripts/install_vulkan_sdk_macos.sh
+          if sh misc/scripts/install_vulkan_sdk_macos.sh; then
+            echo "VULKAN_ENABLED=yes" >> "$GITHUB_OUTPUT"
+          else
+            echo "::warning::macOS: Vulkan SDK installation failed, building without Vulkan support."
+            echo "VULKAN_ENABLED=no" >> "$GITHUB_OUTPUT"
+          fi
+        continue-on-error: true
 
       - name: Compilation (x86_64)
         uses: ./.github/actions/godot-build
         with:
-          sconsflags: ${{ env.SCONSFLAGS }} arch=x86_64
+          sconsflags: ${{ env.SCONSFLAGS }} arch=x86_64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
           platform: macos
           target: ${{ matrix.target }}
           tests: ${{ matrix.tests }}
@@ -58,7 +65,7 @@ jobs:
       - name: Compilation (arm64)
         uses: ./.github/actions/godot-build
         with:
-          sconsflags: ${{ env.SCONSFLAGS }} arch=arm64
+          sconsflags: ${{ env.SCONSFLAGS }} arch=arm64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
           platform: macos
           target: ${{ matrix.target }}
           tests: ${{ matrix.tests }}