diff --git a/.github/scripts/mac_install_gmp.sh b/.github/scripts/mac_install_gmp.sh deleted file mode 100755 index 2bccab060..000000000 --- a/.github/scripts/mac_install_gmp.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# ---------------------------------------------------------------------------- -# SymForce - Copyright 2022, Skydio, Inc. -# This source code is under the Apache 2.0 license found in the LICENSE file. -# ---------------------------------------------------------------------------- - -set -ex - -if [ "$CIBW_ARCHS_MACOS" = "arm64" ]; then - mkdir arm-homebrew - curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C arm-homebrew - cache_path=$(./arm-homebrew/bin/brew --cache gmp) - echo "Using cache_path: ${cache_path}" - curl --output ${cache_path} https://symforce.org/downloads/gmp-6.2.1_1.arm64_big_sur.bottle.tar.gz - ./arm-homebrew/bin/brew install ${cache_path} -fi diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 2258dade3..7dfe54e6b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -26,56 +26,54 @@ jobs: path: dist/* build-macos: - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os.runner }} strategy: fail-fast: false matrix: - os: [macos-latest] + os: + - runner: macos-13 + arch: x86_64 + - runner: macos-latest + arch: arm64 python-version: [cp38, cp39, cp310, cp311, cp312] - arch: [x86_64, arm64] steps: - name: Checkout uses: actions/checkout@v4 - - name: Install cibuildwheel - run: python3 -m pip install cibuildwheel==2.16.5 - - name: Build wheels - run: python3 -m cibuildwheel --output-dir wheelhouse + uses: pypa/cibuildwheel@v2.17.0 env: CIBW_BUILD: ${{ matrix.python-version }}-* - CIBW_ARCHS_MACOS: ${{ matrix.arch }} + CIBW_ARCHS_MACOS: ${{ matrix.os.arch }} CIBW_BUILD_FRONTEND: build - GMP_ROOT: /Users/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/arm-homebrew/opt/gmp - CIBW_BEFORE_BUILD: ./.github/scripts/mac_install_gmp.sh + # For arm64; for x86, it's at /usr/local but cmake finds that ok already + GMP_ROOT: /opt/homebrew + CIBW_BEFORE_BUILD: brew install gmp CIBW_ENVIRONMENT: SYMFORCE_REWRITE_LOCAL_DEPENDENCIES=True - name: Upload wheels uses: actions/upload-artifact@v4 with: - name: symforce-wheels-macos-${{ matrix.python-version }}-${{ matrix.arch }} + name: symforce-wheels-${{ matrix.os.arch }}-${{ matrix.python-version }} path: wheelhouse/*.whl build-linux: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ubuntu-latest] python-version: [cp38, cp39, cp310, cp311, cp312] - arch: [x86_64] steps: - name: Checkout uses: actions/checkout@v4 - - name: Install cibuildwheel - run: python3 -m pip install cibuildwheel==2.16.5 - - name: Build wheels - run: python3 -m cibuildwheel --output-dir wheelhouse + uses: pypa/cibuildwheel@v2.17.0 env: - CIBW_BUILD: ${{ matrix.python-version }}-manylinux_${{ matrix.arch }} + CIBW_BUILD: ${{ matrix.python-version }}-manylinux_x86_64 CIBW_BUILD_FRONTEND: build CIBW_BEFORE_BUILD: yum install -y gmp-devel git CIBW_ENVIRONMENT: SYMFORCE_REWRITE_LOCAL_DEPENDENCIES=True @@ -83,7 +81,7 @@ jobs: - name: Upload Wheels uses: actions/upload-artifact@v4 with: - name: symforce-wheels-linux-${{ matrix.python-version }} + name: symforce-wheels-${{ matrix.os }}-${{ matrix.python-version }} path: wheelhouse/*.whl merge-wheel-artifacts: