Avoid git cherry-pick #83
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Wheels | |
on: [push, pull_request] | |
jobs: | |
build_wheels: | |
name: Build wheels on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# macos-13 is an intel runner, macos-14 is apple silicon | |
os: [ubuntu-20.04, windows-2019, macos-13, macos-14] | |
env: | |
# Seems to have trouble parsing our setup.py, thus: | |
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.9" | |
# Install numpy with a wheel (do NOT compile it): | |
CIBW_BEFORE_BUILD: "pip install --only-binary :all: -r requirements.txt" | |
# There are/were no numpy wheels for these: | |
CIBW_SKIP: pp37-* pp38-* pp39-* pp310-* cp39-manylinux_i686 cp310-manylinux_i686 cp311-manylinux_i686 cp312-manylinux_i686 *-musllinux_* | |
# configure cibuildwheel to build native arch & aarch64 too | |
CIBW_ARCHS_LINUX: auto aarch64 | |
# Quick test with C code using NumPy C API: | |
CIBW_TEST_COMMAND: "python {package}/Tests/test_Cluster.py" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Optional | |
submodules: true # Optional, use if you have submodules | |
- name: Set up QEMU | |
if: runner.os == 'Linux' | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: all | |
- name: Checkout tag/commit | |
run: | | |
git submodule update --init biopython | |
cd biopython | |
# Use commit hash if tag is still pending: | |
# This is some commits after Biopython 1.84 but before 1.85, to test a CPython 3.13 fix: | |
git checkout 22ebf951e736bd44f04e3552a4a39723ccb3c219 | |
cd .. | |
- name: Build wheels | |
uses: pypa/[email protected] | |
with: | |
package-dir: biopython | |
output-dir: wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
path: ./wheelhouse/*.whl |