Skip to content

Build manylinux wheels for aarch64 #1

Build manylinux wheels for aarch64

Build manylinux wheels for aarch64 #1

# 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