From 56785d30ee910ac5009569d23d494c330f19a93a Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Wed, 24 Dec 2025 01:44:12 +0000 Subject: [PATCH] Add macos-15-intel for Intel Mac builds (free runner) Use macos-15-intel (free standard runner) instead of macos-15-large (paid). This provides Intel Mac wheel support until Aug 2027. - MACOSX_DEPLOYMENT_TARGET=13.0 for backward compatibility - Replaces deprecated macos-13 runner --- .github/workflows/build-reusable.yml | 30 ++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) 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