WIP: Parallelize macOS CI builds by splitting arm64 and x86_64 into separate jobs (#12562)

* Parallelize macOS CI builds by splitting arm64 and x86_64 into separate jobs

* fix shell errors

* Delete intermediate per-arch artifacts
This commit is contained in:
SoftFever
2026-03-03 19:29:59 +08:00
committed by GitHub
parent 1f19ff67a3
commit b7033a4c92
5 changed files with 157 additions and 72 deletions

View File

@@ -58,23 +58,41 @@ jobs:
os: ubuntu-24.04
build-deps-only: ${{ inputs.build-deps-only || false }}
secrets: inherit
build_all:
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
- os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }}
arch: arm64
build_windows:
# Don't run scheduled builds on forks:
if: ${{ !cancelled() && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }}
uses: ./.github/workflows/build_check_cache.yml
with:
os: ${{ matrix.os }}
os: windows-latest
build-deps-only: ${{ inputs.build-deps-only || false }}
force-build: ${{ github.event_name == 'schedule' }}
secrets: inherit
build_macos_arch:
strategy:
fail-fast: false
matrix:
arch:
- arm64
- x86_64
# Don't run scheduled builds on forks:
if: ${{ !cancelled() && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }}
uses: ./.github/workflows/build_check_cache.yml
with:
os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }}
arch: ${{ matrix.arch }}
build-deps-only: ${{ inputs.build-deps-only || false }}
force-build: ${{ github.event_name == 'schedule' }}
secrets: inherit
build_macos_universal:
name: Build macOS Universal
needs: build_macos_arch
if: ${{ !cancelled() && needs.build_macos_arch.result == 'success' && !inputs.build-deps-only && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }}
uses: ./.github/workflows/build_orca.yml
with:
os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }}
arch: universal
macos-combine-only: true
secrets: inherit
unit_tests:
name: Unit Tests
runs-on: ubuntu-24.04