From 7601e0b112b0728fcb807eefc521b626fa0dcbcd Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Wed, 24 Dec 2025 01:01:08 +0000 Subject: [PATCH] Add macos-15-large for Intel Mac builds Replace deprecated macos-13 with macos-15-large (x86_64 Intel) to continue supporting Intel Mac users. --- .github/workflows/build-reusable.yml | 39 +++++++++++++--------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index 243e958..b2ac6d7 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: macos-13 removed - GitHub Actions deprecated macos-13 runner - # (brownout started Sept 2025, fully retired Dec 2025) + # Intel Mac builds (x86_64) - replaces deprecated macos-13 + - os: macos-15-large + python: '3.10' + - os: macos-15-large + python: '3.11' + - os: macos-15-large + python: '3.12' + - os: macos-15-large + python: '3.13' runs-on: ${{ matrix.os }} steps: @@ -191,11 +198,9 @@ jobs: export CC=clang export CXX=clang++ # Homebrew libraries on each macOS version require matching minimum version - if [[ "${{ matrix.os }}" == "macos-13" ]]; then - export MACOSX_DEPLOYMENT_TARGET=13.0 - elif [[ "${{ matrix.os }}" == "macos-14" ]]; then + if [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 - elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + 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 @@ -210,13 +215,10 @@ jobs: # Use system clang for better compatibility export CC=clang export CXX=clang++ - # DiskANN requires macOS 13.3+ for sgesdd_ LAPACK function - # But Homebrew libraries on each macOS version require matching minimum version - if [[ "${{ matrix.os }}" == "macos-13" ]]; then - export MACOSX_DEPLOYMENT_TARGET=13.3 - elif [[ "${{ matrix.os }}" == "macos-14" ]]; then + # Homebrew libraries on each macOS version require matching minimum version + if [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 - elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + 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 @@ -256,13 +258,10 @@ jobs: run: | # Determine deployment target based on runner OS # Must match the Homebrew libraries for each macOS version - if [[ "${{ matrix.os }}" == "macos-13" ]]; then - HNSW_TARGET="13.0" - DISKANN_TARGET="13.3" - elif [[ "${{ matrix.os }}" == "macos-14" ]]; then + if [[ "${{ matrix.os }}" == macos-14* ]]; then HNSW_TARGET="14.0" DISKANN_TARGET="14.0" - elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + elif [[ "${{ matrix.os }}" == macos-15* ]]; then HNSW_TARGET="15.0" DISKANN_TARGET="15.0" fi @@ -320,11 +319,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-13" ]]; then - export MACOSX_DEPLOYMENT_TARGET=13.3 - elif [[ "${{ matrix.os }}" == "macos-14" ]]; then + if [[ "${{ matrix.os }}" == macos-14* ]]; then export MACOSX_DEPLOYMENT_TARGET=14.0 - elif [[ "${{ matrix.os }}" == "macos-15" ]]; then + elif [[ "${{ matrix.os }}" == macos-15* ]]; then export MACOSX_DEPLOYMENT_TARGET=15.0 fi fi