Skip to content

Commit 4f72dc9

Browse files
committed
Build manylinux/musllinux aarch64 wheels
Replaces the duplicated manylinux_x86_64/musllinux_i686 matrix entries with aarch64 builds on GitHub's native ubuntu-24.04-arm runner (no QEMU emulation needed). Also bumps actions/checkout, cibuildwheel, and upload/download-artifact past the retired v3 actions (GitHub now hard-fails any job using actions/upload-artifact@v3), which was blocking CI on master entirely. upload-artifact v4 requires unique names per upload, so each matrix leg and the sdist job now upload under distinct names, merged back together in upload_pypi via download-artifact's pattern/merge-multiple. Closes #80
1 parent ddd3a97 commit 4f72dc9

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

.github/workflows/wheels.yml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ jobs:
3434
buildplat:
3535
- [ubuntu-latest, manylinux_x86_64, auto]
3636
- [ubuntu-latest, musllinux_i686, auto]
37-
- [ubuntu-latest, manylinux_x86_64, auto]
38-
- [ubuntu-latest, musllinux_i686, auto]
37+
- [ubuntu-24.04-arm, manylinux_aarch64, auto]
38+
- [ubuntu-24.04-arm, musllinux_aarch64, auto]
3939
- [windows-latest, win_amd64, auto]
4040
- [windows-latest, win32, auto]
4141
- [macos-latest, macosx_x86_64, x86_64]
@@ -44,29 +44,31 @@ jobs:
4444
python: ["cp310"]
4545

4646
steps:
47-
- uses: actions/checkout@v3
47+
- uses: actions/checkout@v4
4848

4949
- name: Build wheels
50-
uses: pypa/cibuildwheel@v2.15.0
50+
uses: pypa/cibuildwheel@v2.20.0
5151
env:
5252
CIBW_ARCHS: ${{ matrix.buildplat[2] }}
5353
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
5454

55-
- uses: actions/upload-artifact@v3
55+
- uses: actions/upload-artifact@v4
5656
with:
57+
name: wheels-${{ matrix.buildplat[1] }}
5758
path: ./wheelhouse/*.whl
5859

5960
build_sdist:
6061
name: Build source distribution
6162
runs-on: ubuntu-latest
6263
steps:
63-
- uses: actions/checkout@v3
64+
- uses: actions/checkout@v4
6465

6566
- name: Build sdist
6667
run: pipx run build --sdist
6768

68-
- uses: actions/upload-artifact@v3
69+
- uses: actions/upload-artifact@v4
6970
with:
71+
name: sdist
7072
path: dist/*.tar.gz
7173

7274
upload_pypi:
@@ -77,12 +79,14 @@ jobs:
7779
# alternatively, to publish when a GitHub Release is created, use the following rule:
7880
# if: github.event_name == 'release' && github.event.action == 'published'
7981
steps:
80-
- uses: actions/download-artifact@v3
82+
- uses: actions/download-artifact@v4
8183
with:
82-
# unpacks default artifact into dist/
83-
# if `name: artifact` is omitted, the action will create extra parent dir
84-
name: artifact
84+
# v4 requires unique names per upload (unlike v3, which merged same-named
85+
# artifacts), so build_wheels/build_sdist upload under distinct names and
86+
# this flattens them all into dist/
8587
path: dist
88+
pattern: "*"
89+
merge-multiple: true
8690

8791
- uses: pypa/gh-action-pypi-publish@v1.5.0
8892
with:

0 commit comments

Comments
 (0)