diff --git a/.github/workflows/wheel_build.yml b/.github/workflows/wheel_build.yml index 779830f..37ae554 100644 --- a/.github/workflows/wheel_build.yml +++ b/.github/workflows/wheel_build.yml @@ -71,3 +71,54 @@ jobs: name: argolid-wheels path: dist/*.whl retention-days: 1 + + build_wheels_apple_arm64: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + env: + MACOSX_DEPLOYMENT_TARGET: "11.0" + strategy: + matrix: + os: [macos-13-xlarge] + cibw_archs: ["arm64"] + cibw_build: ["cp39-*", "cp310-*", "cp311-*"] + + steps: + - uses: actions/checkout@v3 + name: Check out + + - uses: actions/setup-python@v4 + name: Install Python + with: + python-version: '3.11' + + - name: Install cibuildwheel + run: | + python -m pip install cibuildwheel==2.16.2 delocate wheel + + - name: Building wheels + run: | + python -m cibuildwheel --output-dir dist + env: + CIBW_BUILD: ${{ matrix.cibw_build }} + CIBW_BUILD_VERBOSITY: 3 + CIBW_ARCHS_MACOS: arm64 + CIBW_BEFORE_ALL_MACOS: brew install nasm libjpeg-turbo && + brew install llvm@16 && + sudo xcode-select -s /Applications/Xcode_14.2.app && + bash ci-utils/install_prereq_linux.sh && + mkdir -p /tmp/argolid_bld && + cp -r local_install /tmp/argolid_bld + + CIBW_ENVIRONMENT_MACOS: REPAIR_LIBRARY_PATH="/tmp/argolid_bld/local_install/lib:/tmp/argolid_bld/local_install/lib64" ON_GITHUB="TRUE" ARGOLID_DEP_DIR="/tmp/argolid_bld/local_install" CMAKE_ARGS="-DTENSORSTORE_USE_SYSTEM_JPEG=ON" + CIBW_REPAIR_WHEEL_COMMAND_MACOS: DYLD_LIBRARY_PATH=$REPAIR_LIBRARY_PATH delocate-listdeps {wheel} && DYLD_LIBRARY_PATH=$REPAIR_LIBRARY_PATH delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel} + CIBW_ARCHS: ${{ matrix.cibw_archs }} + CIBW_TEST_REQUIRES: bfio==2.3.2 tensorstore + CIBW_TEST_COMMAND: python -W default -m unittest discover -s {project}/tests -v + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: argolid-wheels-apple-arm64 + path: dist/*.whl + retention-days: 1 \ No newline at end of file