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