improve comment #79
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 should be the commit for Biopython 1.84: | |
git checkout c6120cde9ba9de1ca98a92efad5037a2f1643214 | |
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 |