From 5f57f4763b8b37c92ca09dbee05ad830e3af7be4 Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Tue, 12 Aug 2025 11:48:06 -0700 Subject: [PATCH] fix: add macOS 15 support to deployment target configuration The issue extends to macOS 15 runners where Homebrew libraries are built for macOS 15. We must handle all runner versions explicitly: - macOS 13 runners: Can build for macOS 11.0 (HNSW) and 13.3 (DiskANN) - macOS 14 runners: Must build for macOS 14.0 (system libraries) - macOS 15 runners: Must build for macOS 15.0 (system libraries) This ensures wheels are properly tagged for their actual minimum supported macOS version, matching the bundled libraries. --- .github/workflows/build-reusable.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index aa5e316..e457605 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -158,11 +158,13 @@ jobs: export CC=clang export CXX=clang++ # Set deployment target based on runner OS + # Must match the system libraries from Homebrew if [[ "${{ matrix.os }}" == "macos-13" ]]; then export MACOSX_DEPLOYMENT_TARGET=11.0 - else - # macos-14+ runner - match the system libraries + elif [[ "${{ matrix.os }}" == "macos-14" ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 + elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + export MACOSX_DEPLOYMENT_TARGET=15.0 fi uv build --wheel --python ${{ matrix.python }} --find-links ${GITHUB_WORKSPACE}/packages/leann-core/dist else @@ -177,12 +179,14 @@ jobs: export CC=clang export CXX=clang++ # Set deployment target based on runner OS + # Must match the system libraries from Homebrew if [[ "${{ matrix.os }}" == "macos-13" ]]; then # DiskANN requires macOS 13.3+ for sgesdd_ LAPACK function export MACOSX_DEPLOYMENT_TARGET=13.3 - else - # macos-14+ runner - match the system libraries + elif [[ "${{ matrix.os }}" == "macos-14" ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 + elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + export MACOSX_DEPLOYMENT_TARGET=15.0 fi uv build --wheel --python ${{ matrix.python }} --find-links ${GITHUB_WORKSPACE}/packages/leann-core/dist else @@ -220,15 +224,16 @@ jobs: if: runner.os == 'macOS' run: | # Determine deployment target based on runner OS - # macOS 13 runners have libraries built for macOS 13 - # macOS 14 runners have libraries built for macOS 14 + # Must match the Homebrew libraries for each macOS version if [[ "${{ matrix.os }}" == "macos-13" ]]; then HNSW_TARGET="11.0" DISKANN_TARGET="13.3" - else - # macos-14 runner - libraries are built for macOS 14 + elif [[ "${{ matrix.os }}" == "macos-14" ]]; then HNSW_TARGET="14.0" DISKANN_TARGET="14.0" + elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + HNSW_TARGET="15.0" + DISKANN_TARGET="15.0" fi # Repair HNSW wheel