@@ -158,15 +158,18 @@ jobs:
158158 jni-macos :
159159 name : JNI ${{ matrix.platform.runs_on }} ${{ matrix.platform.arch }}
160160 runs-on : ${{ matrix.platform.runs_on }}
161- timeout-minutes : 445
161+ timeout-minutes : 645
162162 needs :
163163 - source
164164 strategy :
165165 fail-fast : false
166166 matrix :
167167 platform :
168- - { runs_on: macos-15-intel, arch: "x86_64"}
169- - { runs_on: macos-15, arch: "aarch_64" }
168+ # Using larger runners for faster LLVM builds
169+ # macos-15-large: 12 cores, 30GB RAM (Intel x64)
170+ # macos-15-xlarge: 5 cores + GPU, 14GB RAM (ARM64 M2)
171+ - { runs_on: macos-15-large, arch: "x86_64"}
172+ - { runs_on: macos-15-xlarge, arch: "aarch_64" }
170173 env :
171174 MACOSX_DEPLOYMENT_TARGET : " 15.0"
172175 steps :
@@ -298,12 +301,24 @@ jobs:
298301 df -h /
299302
300303 echo ""
301- # Use vcpkg to install LLVM.
304+ # Determine the vcpkg triplet based on architecture
305+ # Using debug-only builds to save time. For release builds, use:
306+ # - arm64-osx-static-release (requires larger runner)
307+ # - amd64-osx-static-release (requires larger runner)
308+ if [ "$(uname -m)" = "arm64" ]; then
309+ VCPKG_TRIPLET="arm64-osx-static-debug"
310+ else
311+ VCPKG_TRIPLET="amd64-osx-static-debug"
312+ fi
313+ echo "Using vcpkg triplet: ${VCPKG_TRIPLET}"
314+
315+ # Use vcpkg to install LLVM (debug only to save time).
302316 vcpkg install \
303317 --clean-after-build \
304318 --x-install-root=${VCPKG_ROOT}/installed \
305319 --x-manifest-root=arrow/ci/vcpkg \
306320 --overlay-ports=arrow/ci/vcpkg/overlay/llvm/ \
321+ --triplet=${VCPKG_TRIPLET} \
307322 --x-feature=gandiva-llvm
308323
309324 echo ""
0 commit comments