42
42
FORCE_COLOR : 1
43
43
44
44
jobs :
45
- build-1-QEMU-emulated-wheels :
46
- if : github.event_name != 'schedule'
47
- name : aarch64 ${{ matrix.python-version }} ${{ matrix.spec }}
48
- runs-on : ubuntu-latest
49
- strategy :
50
- fail-fast : false
51
- matrix :
52
- python-version :
53
- - pp310
54
- - cp3{9,10,11}
55
- - cp3{12,13}
56
- spec :
57
- - manylinux2014
58
- - manylinux_2_28
59
- - musllinux
60
- exclude :
61
- - { python-version: pp310, spec: musllinux }
62
-
63
- steps :
64
- - uses : actions/checkout@v4
65
- with :
66
- persist-credentials : false
67
- submodules : true
68
-
69
- - uses : actions/setup-python@v5
70
- with :
71
- python-version : " 3.x"
72
-
73
- # https://github.com/docker/setup-qemu-action
74
- - name : Set up QEMU
75
- uses : docker/setup-qemu-action@v3
76
-
77
- - name : Install cibuildwheel
78
- run : |
79
- python3 -m pip install -r .ci/requirements-cibw.txt
80
-
81
- - name : Build wheels
82
- run : |
83
- python3 -m cibuildwheel --output-dir wheelhouse
84
- env :
85
- # Build only the currently selected Linux architecture (so we can
86
- # parallelise for speed).
87
- CIBW_ARCHS : " aarch64"
88
- # Likewise, select only one Python version per job to speed this up.
89
- CIBW_BUILD : " ${{ matrix.python-version }}-${{ matrix.spec == 'musllinux' && 'musllinux' || 'manylinux' }}*"
90
- CIBW_ENABLE : cpython-prerelease
91
- # Extra options for manylinux.
92
- CIBW_MANYLINUX_AARCH64_IMAGE : ${{ matrix.spec }}
93
- CIBW_MANYLINUX_PYPY_AARCH64_IMAGE : ${{ matrix.spec }}
94
-
95
- - uses : actions/upload-artifact@v4
96
- with :
97
- name : dist-qemu-${{ matrix.python-version }}-${{ matrix.spec }}
98
- path : ./wheelhouse/*.whl
99
-
100
- build-2-native-wheels :
45
+ build-native-wheels :
101
46
if : github.event_name != 'schedule' || github.repository_owner == 'python-pillow'
102
47
name : ${{ matrix.name }}
103
48
runs-on : ${{ matrix.os }}
@@ -132,6 +77,14 @@ jobs:
132
77
cibw_arch : x86_64
133
78
build : " *manylinux*"
134
79
manylinux : " manylinux_2_28"
80
+ - name : " manylinux2014 and musllinux aarch64"
81
+ os : ubuntu-24.04-arm
82
+ cibw_arch : aarch64
83
+ - name : " manylinux_2_28 aarch64"
84
+ os : ubuntu-24.04-arm
85
+ cibw_arch : aarch64
86
+ build : " *manylinux*"
87
+ manylinux : " manylinux_2_28"
135
88
steps :
136
89
- uses : actions/checkout@v4
137
90
with :
@@ -152,7 +105,9 @@ jobs:
152
105
env :
153
106
CIBW_ARCHS : ${{ matrix.cibw_arch }}
154
107
CIBW_BUILD : ${{ matrix.build }}
155
- CIBW_ENABLE : cpython-prerelease cpython-freethreading
108
+ CIBW_ENABLE : cpython-prerelease cpython-freethreading pypy
109
+ CIBW_MANYLINUX_AARCH64_IMAGE : ${{ matrix.manylinux }}
110
+ CIBW_MANYLINUX_PYPY_AARCH64_IMAGE : ${{ matrix.manylinux }}
156
111
CIBW_MANYLINUX_PYPY_X86_64_IMAGE : ${{ matrix.manylinux }}
157
112
CIBW_MANYLINUX_X86_64_IMAGE : ${{ matrix.manylinux }}
158
113
CIBW_SKIP : pp39-*
@@ -229,7 +184,7 @@ jobs:
229
184
CIBW_ARCHS : ${{ matrix.cibw_arch }}
230
185
CIBW_BEFORE_ALL : " {package}\\ winbuild\\ build\\ build_dep_all.cmd"
231
186
CIBW_CACHE_PATH : " C:\\ cibw"
232
- CIBW_ENABLE : cpython-prerelease cpython-freethreading
187
+ CIBW_ENABLE : cpython-prerelease cpython-freethreading pypy
233
188
CIBW_SKIP : pp39-*
234
189
CIBW_TEST_SKIP : " *-win_arm64"
235
190
CIBW_TEST_COMMAND : ' docker run --rm
@@ -275,7 +230,7 @@ jobs:
275
230
276
231
scientific-python-nightly-wheels-publish :
277
232
if : github.repository_owner == 'python-pillow' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
278
- needs : [build-2- native-wheels, windows]
233
+ needs : [build-native-wheels, windows]
279
234
runs-on : ubuntu-latest
280
235
name : Upload wheels to scientific-python-nightly-wheels
281
236
steps :
@@ -292,7 +247,7 @@ jobs:
292
247
293
248
pypi-publish :
294
249
if : github.repository_owner == 'python-pillow' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
295
- needs : [build-1-QEMU-emulated-wheels, build-2- native-wheels, windows, sdist]
250
+ needs : [build-native-wheels, windows, sdist]
296
251
runs-on : ubuntu-latest
297
252
name : Upload release to PyPI
298
253
environment :
0 commit comments