diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 25687f929bd7d..6b06514b6ca97 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,6 +41,20 @@ jobs: echo "INSTALL_DIR=$GITHUB_WORKSPACE/usr/local" echo "HIP_PATH=$GITHUB_WORKSPACE/usr/local/hip" echo "PATH=$GITHUB_WORKSPACE/usr/local/hip/bin:$PATH" + + OSX_ARCH=$(uname -m) + echo "OSX_ARCH=$OSX_ARCH" + + # Set + if [ "$OSX_ARCH" == "arm64" ]; then + CMAKE_ARCH_OPTIONS=" -DCMAKE_OSX_ARCHITECTURES=arm64 -DLLVM_TARGETS_TO_BUILD=AMDGPU;AArch64" + elif [ "$OSX_ARCH" == "x86_64" ]; then + CMAKE_ARCH_OPTIONS=" -DCMAKE_OSX_ARCHITECTURES=x86_64 -DLLVM_TARGETS_TO_BUILD=AMDGPU;X86" + else + echo "Unsupported architecture: $OSX_ARCH" + exit 1 + fi + echo "CMAKE_ARCH_OPTIONS=$CMAKE_ARCH_OPTIONS" } >> $GITHUB_ENV - name: Cache llvm build (with hash) @@ -56,11 +70,11 @@ jobs: llvm-project/third-party/benchmark llvm-project/third-party/unittest llvm-project/build-${{ env.LLVM_COMMIT }} - key: llvm-build-v3-${{ env.LLVM_COMMIT }} + key: llvm-build-v3-${{ env.OSX_ARCH }}-${{ env.LLVM_COMMIT }} restore-keys: | - llvm-build-v3- + llvm-build-v3-${{ env.OSX_ARCH }}- - - name: Checkout and Build LLVM + - name: Checkout and Build LLVM for ${{ env.OSX_ARCH }} run: | if [ ! -d "llvm-project" ]; then # Build LLVM project with sparse checkout @@ -72,8 +86,6 @@ jobs: cmake ../llvm \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_PROJECTS="llvm;clang;lld" \ - -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \ - -DLLVM_TARGETS_TO_BUILD="AMDGPU;AArch64;X86" \ -DLLVM_ENABLE_RTTI=ON \ -DCMAKE_PREFIX_PATH=${LLVM_PATH} \ -DCMAKE_MODULE_PATH=${LLVM_PATH}/lib/cmake \ @@ -81,6 +93,7 @@ jobs: -DCMAKE_CXX_COMPILER=${CXX} \ -DLLVM_ENABLE_BENCHMARKS=OFF \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ + ${CMAKE_ARCH_OPTIONS} \ -G Ninja ninja || exit 1 # Exit if build fails else