Skip to content

Commit

Permalink
Add musl aarch64 support at tier 4 (#1008)
Browse files Browse the repository at this point in the history
* Wheel build for aarch64

* Add documentation for tier support

* Apply suggestions from code review

Co-authored-by: Matthew Treinish <[email protected]>

* Update .github/workflows/wheels.yml

Co-authored-by: Matthew Treinish <[email protected]>

* Simplify workflow pt2

* Skip manylinux on aarch64 build for musllinux

* Fix YAML shenanigans

---------

Co-authored-by: Matthew Treinish <[email protected]>
  • Loading branch information
IvanIsCoding and mtreinish authored Nov 4, 2023
1 parent 9705ab6 commit 13248f7
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 1 deletion.
76 changes: 76 additions & 0 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,82 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_wheels_musl_aarch64:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
permissions:
id-token: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: '3.8'
- uses: dtolnay/rust-toolchain@stable
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==2.16.2
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_ARCHS_LINUX: aarch64
CIBW_SKIP: cp36-* cp37-* cp311-* cp312-* *many*
CIBW_TEST_SKIP: cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* *many*
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_wheels_musl_aarch64_part_2:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
permissions:
id-token: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: '3.8'
- uses: dtolnay/rust-toolchain@stable
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==2.16.2
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_ARCHS_LINUX: aarch64
CIBW_SKIP: cp36-* cp37-* cp38-* cp39-* cp310-* *many*
CIBW_TEST_SKIP: cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* *many*
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_wheels_ppc64le:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
Expand Down
4 changes: 4 additions & 0 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ source.
- x86_64
- :ref:`tier-3`
-
* - Linux (musl)
- aarch64
- :ref:`tier-4`
-
* - macOS (10.12 or newer)
- x86_64
- :ref:`tier-1`
Expand Down
3 changes: 2 additions & 1 deletion releasenotes/notes/platform-updates-e9b296144e633c95.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
features:
- |
Added support for musl Linux platforms on x86_64 and aarch64 at :ref:`tier-3`.
Added support for musl Linux platforms on x86_64 at :ref:`tier-3`
and aarch64 at :ref:`tier-4`.
upgrade:
- |
Support for the Linux ppc64le pllatform has changed from tier 3 to tier 4
Expand Down

0 comments on commit 13248f7

Please sign in to comment.