diff --git a/tools/gitlab/build-mac b/tools/gitlab/build-mac index 98df7731ad1..53cb60b3afc 100755 --- a/tools/gitlab/build-mac +++ b/tools/gitlab/build-mac @@ -5,15 +5,37 @@ echo "---" set -Eeuxo pipefail +X86_BREW_HOME='/usr/local' +if [ "$(arch)" = 'arm64' ]; then + ARCH_BREW_HOME='/opt/homebrew' + ARCH_CMD='arch -x86_64' + + # On the ARM runner, use Xcode's SDK. SDKROOT is independent of + # DEVELOPER_DIR/xcode-select, and will default to the command line tools. + # That's what we want on the old Intel runner. + export SDKROOT="$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" +else + ARCH_BREW_HOME="$X86_BREW_HOME" + ARCH_CMD= +fi + +# Pick up dependencies from homebrew. +export PATH="$X86_BREW_HOME/bin:$ARCH_BREW_HOME/bin:$PATH" +export LIBRARY_PATH="$X86_BREW_HOME/lib" + +# x86 ccache wrappers. These need to go at the front of PATH. +export PATH="$X86_BREW_HOME/opt/ccache/libexec:$PATH" + ./tools/make_requests ./tools/make_specfiles ./tools/make_makefiles autoreconf -f cd build64 -../configure -C --enable-win64 --with-mingw BISON=/usr/local/opt/bison/bin/bison -make -s -j8 +$ARCH_CMD ../configure -C --enable-win64 --with-mingw BISON="$ARCH_BREW_HOME/opt/bison/bin/bison" +$ARCH_CMD make -s -j$(sysctl -n hw.activecpu) cd .. git reset --hard + sleep 2 diff --git a/tools/gitlab/build.yml b/tools/gitlab/build.yml index 66daf518386..528d998b644 100644 --- a/tools/gitlab/build.yml +++ b/tools/gitlab/build.yml @@ -52,6 +52,10 @@ build-clang: build-mac: extends: .wine-build + image: winehq-sonoma-pristine + variables: + TART_EXECUTOR_SSH_USERNAME: "gitlab" + TART_EXECUTOR_SSH_PASSWORD: "gitlab" rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' tags: @@ -63,7 +67,6 @@ build-mac: - build32/config.log script: - mkdir -p build32 build64 - - export PATH="/usr/local/opt/ccache/libexec:$PATH" - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./tools/gitlab/build-mac build-winetest: