[CI] [macOS] Build for both `arm64` and `x86_64`

Creates a universal build, to catch discrepancies on different
architectures
This commit is contained in:
A Thousand Ships 2024-04-24 11:45:11 +02:00
parent a4fbe4c01f
commit 24ad73b13f
No known key found for this signature in database
GPG Key ID: 2033189A662F8BD7
1 changed files with 14 additions and 4 deletions

View File

@ -14,7 +14,7 @@ concurrency:
jobs: jobs:
build-macos: build-macos:
runs-on: "macos-12" runs-on: "macos-latest"
name: ${{ matrix.name }} name: ${{ matrix.name }}
strategy: strategy:
fail-fast: false fail-fast: false
@ -24,7 +24,7 @@ jobs:
cache-name: macos-editor cache-name: macos-editor
target: editor target: editor
tests: true tests: true
bin: "./bin/godot.macos.editor.x86_64" bin: "./bin/godot.macos.editor.universal"
- name: Template (target=template_release) - name: Template (target=template_release)
cache-name: macos-template cache-name: macos-template
@ -50,16 +50,26 @@ jobs:
run: | run: |
sh misc/scripts/install_vulkan_sdk_macos.sh sh misc/scripts/install_vulkan_sdk_macos.sh
- name: Compilation - name: Compilation (x86_64)
uses: ./.github/actions/godot-build uses: ./.github/actions/godot-build
with: with:
sconsflags: ${{ env.SCONSFLAGS }} sconsflags: ${{ env.SCONSFLAGS }} arch=x86_64
platform: macos
target: ${{ matrix.target }}
tests: ${{ matrix.tests }}
- name: Compilation (arm64)
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} arch=arm64
platform: macos platform: macos
target: ${{ matrix.target }} target: ${{ matrix.target }}
tests: ${{ matrix.tests }} tests: ${{ matrix.tests }}
- name: Prepare artifact - name: Prepare artifact
run: | run: |
lipo -create ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64 -output ./bin/godot.macos.${{ matrix.target }}.universal
rm ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64
strip bin/godot.* strip bin/godot.*
chmod +x bin/godot.* chmod +x bin/godot.*