Build manylinux wheels for aarch64 #1
Workflow file for this run
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
# Workflow just for linux aarch64 wheels so it can run in parallel with the build_wheels workflow | |
name: Build aarch64 Wheels | |
on: | |
push: | |
branches: [ release ] | |
pull_request: | |
branches: [ release ] | |
jobs: | |
build_wheels: | |
name: Build aarch64 wheels on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-22.04] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
name: Install Python | |
with: | |
python-version: '3.10' | |
- name: Install cibuildwheel | |
run: python -m pip install "cibuildwheel>=2.22,<2.23" | |
# Needed for Linux aarch64 builds | |
- name: Set up QEMU | |
if: runner.os == 'Linux' | |
uses: docker/setup-qemu-action@v1 | |
with: | |
platforms: all | |
- name: Build wheels | |
run: python -m cibuildwheel --output-dir wheelhouse | |
env: | |
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*" | |
CIBW_ARCHS_LINUX: aarch64 # Specifically build linux aarch64 wheels | |
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 | |
CIBW_BEFORE_ALL: "python -m pip install setuptools invoke && invoke build.deps" | |
CIBW_BEFORE_BUILD: "python -m pip install setuptools invoke && invoke build.nassl" | |
CIBW_TEST_REQUIRES: "pytest" | |
CIBW_TEST_COMMAND: "python -m pytest {project}/tests" | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.os }}-wheels | |
path: ./wheelhouse/*.whl |