diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index c0edb00..d9e6da7 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -70,8 +70,15 @@ jobs: python: '3.12' - os: macos-15 python: '3.13' - # Note: Intel Mac (x86_64) builds removed - macos-13 deprecated by GitHub, - # macos-15-large requires paid plan. Intel users can build from source. + # Intel Mac builds (x86_64) - replaces deprecated macos-13 + - os: macos-15-intel + python: '3.10' + - os: macos-15-intel + python: '3.11' + - os: macos-15-intel + python: '3.12' + - os: macos-15-intel + python: '3.13' runs-on: ${{ matrix.os }} steps: @@ -191,7 +198,10 @@ jobs: export CC=clang export CXX=clang++ # Set deployment target based on runner - if [[ "${{ matrix.os }}" == macos-14* ]]; then + # macos-15-intel targets 13.0 for backward compatibility with older Intel Macs + if [[ "${{ matrix.os }}" == "macos-15-intel" ]]; 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 @@ -209,7 +219,10 @@ jobs: export CC=clang export CXX=clang++ # Set deployment target based on runner - if [[ "${{ matrix.os }}" == macos-14* ]]; then + # macos-15-intel targets 13.3 for backward compatibility (DiskANN needs 13.3+) + if [[ "${{ matrix.os }}" == "macos-15-intel" ]]; 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 @@ -250,7 +263,10 @@ jobs: if: runner.os == 'macOS' run: | # Determine deployment target based on runner OS - if [[ "${{ matrix.os }}" == macos-14* ]]; then + if [[ "${{ matrix.os }}" == "macos-15-intel" ]]; 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 @@ -311,7 +327,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-intel" ]]; 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