Skip to content

Commit bbc40b2

Browse files
committed
Add workflow to build Python wheels
1 parent 411895b commit bbc40b2

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

.github/workflows/wheels.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Python wheels
2+
3+
on:
4+
pull_request:
5+
push:
6+
tags:
7+
- "*"
8+
9+
jobs:
10+
wheel:
11+
runs-on: ubuntu-20.04
12+
env:
13+
TAGS: cp311-cp311 cp312-cp312
14+
15+
strategy:
16+
matrix:
17+
target:
18+
# https://quay.io/organization/pypa
19+
- [ manylinux_2_28, x86_64 ]
20+
- [ manylinux_2_28, aarch64 ]
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- name: Set up QEMU
26+
uses: docker/setup-qemu-action@v3
27+
28+
- name: Build Python wheels
29+
env:
30+
POLICY: ${{ matrix.target[0] }}
31+
PLATFORM: ${{ matrix.target[1] }}
32+
run: make manylinux POLICY="$POLICY" PLATFORM="$PLATFORM" TAGS="$TAGS"
33+
34+
# https://github.com/actions/upload-artifact
35+
- uses: actions/upload-artifact@v4
36+
with:
37+
name: wheels-${{ join(matrix.target, '-') }}
38+
path: wheelhouse/*.whl
39+
if-no-files-found: error
40+
retention-days: 2
41+
42+
merge-artifacts:
43+
name: Download and create one artifact from all jobs
44+
needs: wheel
45+
runs-on: ubuntu-20.04
46+
steps:
47+
- name: Download Artifacts
48+
uses: actions/download-artifact@v4
49+
with:
50+
path: wheelhouse
51+
pattern: wheels-*
52+
merge-multiple: true
53+
54+
- run: ls -l wheelhouse
55+
56+
- uses: actions/upload-artifact@v4
57+
with:
58+
name: wheels
59+
path: wheelhouse/*.whl
60+
if-no-files-found: error

0 commit comments

Comments
 (0)