From 47b91f73139990739f1af392b47cea14ec3d230a Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Wed, 24 Dec 2025 01:03:15 +0000 Subject: [PATCH] Set MACOSX_DEPLOYMENT_TARGET=13.x for Intel builds Intel Mac wheels (macos-15-large) now target macOS 13.0/13.3 for backward compatibility, allowing macOS 13/14/15 Intel users to install pre-built wheels. --- .github/workflows/build-reusable.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index b2ac6d7..6870c9e 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -197,8 +197,12 @@ jobs: # Use system clang for better compatibility export CC=clang export CXX=clang++ - # Homebrew libraries on each macOS version require matching minimum version - if [[ "${{ matrix.os }}" == macos-14* ]]; then + # Set deployment target based on runner + # macos-15-large is Intel x86_64, target 13.0 for backward compatibility + # macos-14/15 are arm64, target their respective versions + if [[ "${{ matrix.os }}" == "macos-15-large" ]]; then + export MACOSX_DEPLOYMENT_TARGET=13.0 + elif [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 elif [[ "${{ matrix.os }}" == macos-15* ]]; then export MACOSX_DEPLOYMENT_TARGET=15.0 @@ -215,8 +219,12 @@ jobs: # Use system clang for better compatibility export CC=clang export CXX=clang++ - # Homebrew libraries on each macOS version require matching minimum version - if [[ "${{ matrix.os }}" == macos-14* ]]; then + # Set deployment target based on runner + # macos-15-large is Intel x86_64, target 13.3 for backward compatibility (DiskANN needs 13.3+) + # macos-14/15 are arm64, target their respective versions + if [[ "${{ matrix.os }}" == "macos-15-large" ]]; then + export MACOSX_DEPLOYMENT_TARGET=13.3 + elif [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 elif [[ "${{ matrix.os }}" == macos-15* ]]; then export MACOSX_DEPLOYMENT_TARGET=15.0 @@ -257,8 +265,11 @@ jobs: if: runner.os == 'macOS' run: | # Determine deployment target based on runner OS - # Must match the Homebrew libraries for each macOS version - if [[ "${{ matrix.os }}" == macos-14* ]]; then + # macos-15-large is Intel x86_64, target 13.x for backward compatibility + if [[ "${{ matrix.os }}" == "macos-15-large" ]]; then + HNSW_TARGET="13.0" + DISKANN_TARGET="13.3" + elif [[ "${{ matrix.os }}" == macos-14* ]]; then HNSW_TARGET="14.0" DISKANN_TARGET="14.0" elif [[ "${{ matrix.os }}" == macos-15* ]]; then @@ -319,7 +330,9 @@ jobs: PY_TAG=$($UV_PY -c "import sys; print(f'cp{sys.version_info[0]}{sys.version_info[1]}')") if [[ "$RUNNER_OS" == "macOS" ]]; then - if [[ "${{ matrix.os }}" == macos-14* ]]; then + if [[ "${{ matrix.os }}" == "macos-15-large" ]]; then + export MACOSX_DEPLOYMENT_TARGET=13.3 + elif [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 elif [[ "${{ matrix.os }}" == macos-15* ]]; then export MACOSX_DEPLOYMENT_TARGET=15.0