From fa16aa3e93cdbca2301eceb6e47d23036315002f Mon Sep 17 00:00:00 2001 From: aidanfnv Date: Wed, 1 Oct 2025 15:58:40 -0700 Subject: Re-add macOS cross-compile setup to release workflow (#8583) For #8564 Similar to #8580, this re-adds the cross-compile target setup step for macOS releases that was erroneously removed in https://github.com/shader-slang/slang/pull/8470, which made x86_64 releases build aarch64 binaries. It also simplifies the workflow logic a bit by adding a separate `arch` variable to the release matrix, which refers to the target architecture in the manner that the setup requires, so that we do not have to replace the string `"aarch64"` with `"arm64"` in setting `CMAKE_OSX_ARCHITECTURES` for native aarch64 macOS builds and do not have to conditionally set the MSVC `arch` to `amd64_arm64` for Windows cross-compilation. --------- Co-authored-by: slangbot Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- .github/workflows/release.yml | 47 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7ac61be65..9218408df 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,15 +40,47 @@ jobs: } - { os: windows, + platform: x86_64, + arch: amd64, runs-on: ["Windows", "self-hosted", "GCP-T4"], compiler: cl, } - - { os: macos, runs-on: macos-latest, compiler: clang } + - { + os: windows, + platform: aarch64, + arch: amd64_arm64, + runs-on: ["Windows", "self-hosted", "GCP-T4"], + compiler: cl, + } + - { + os: macos, + platform: x86_64, + arch: x86_64, + runs-on: macos-latest, + compiler: clang, + } + - { + os: macos, + platform: aarch64, + arch: arm64, + runs-on: macos-latest, + compiler: clang, + } - { build-slang-llvm: false } - { os: linux, platform: x86_64, build-slang-llvm: true } - - { os: windows, platform: x86_64, build-slang-llvm: true } - - { os: macos, platform: aarch64, build-slang-llvm: true } + - { + os: windows, + platform: x86_64, + arch: amd64, + build-slang-llvm: true, + } + - { + os: macos, + platform: aarch64, + arch: arm64, + build-slang-llvm: true, + } fail-fast: false runs-on: ${{ matrix.runs-on }} container: ${{ matrix.image || '' }} @@ -78,11 +110,16 @@ jobs: mkdir build-platform-generators cmake --install build --config Release --component generators --prefix build-platform-generators - - name: Setup Windows dev tools for host and target architecture + - name: Setup Windows dev tools for target architecture if: matrix.os == 'windows' uses: ilammy/msvc-dev-cmd@v1 with: - arch: ${{ matrix.platform == 'aarch64' && 'amd64_arm64' || 'amd64' }} + arch: ${{ matrix.arch }} + + - name: Setup macOS dev tools for target architecture + if: matrix.os == 'macos' + run: | + echo "CMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}" >> "$GITHUB_ENV" - name: Build Slang run: | -- cgit v1.2.3