@@ -37,28 +37,29 @@ jobs:
37
37
38
38
- uses : actions/upload-artifact@v4
39
39
with :
40
+ name : sdist
40
41
path : dist/*.tar.gz
41
42
42
43
build_wheels :
43
- name : ${{ matrix.arch }} ${{ matrix.build }} on ${{ matrix.os }}
44
+ name : ${{ matrix.arch }} ${{ matrix.build_id }} on ${{ matrix.os }}
44
45
runs-on : ${{ matrix.os }}
45
46
strategy :
46
47
fail-fast : false
47
48
matrix :
48
49
include :
49
- - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-manylinux*' }
50
- - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-musllinux*' }
51
- - { os: ubuntu-20.04, arch: x86_64, build: 'pp*' }
52
- - { os: ubuntu-20.04, arch: i686, build: 'cp*-manylinux*' }
53
- - { os: ubuntu-20.04, arch: i686, build: 'cp*-musllinux*' }
54
- - { os: ubuntu-20.04, arch: i686, build: 'pp*' }
55
- - { os: windows-2019, arch: x86, build: 'cp*' }
56
- - { os: windows-2019, arch: AMD64, build: 'cp*' }
57
- - { os: windows-2019, arch: AMD64, build: 'pp*' }
58
- - { os: windows-2019, arch: ARM64, build: 'cp*' }
59
- - { os: macos-latest, arch: x86_64, build: 'cp*' }
60
- - { os: macos-latest, arch: x86_64, build: 'pp*' }
61
- - { os: macos-latest, arch: arm64, build: 'cp*' }
50
+ - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-manylinux*', build_id: cp-manylinux }
51
+ - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-musllinux*', build_id: cp-musllinux }
52
+ - { os: ubuntu-20.04, arch: x86_64, build: 'pp*', build_id: pp }
53
+ - { os: ubuntu-20.04, arch: i686, build: 'cp*-manylinux*', build_id: cp-manylinux }
54
+ - { os: ubuntu-20.04, arch: i686, build: 'cp*-musllinux*', build_id: cp-musllinux }
55
+ - { os: ubuntu-20.04, arch: i686, build: 'pp*', build_id: pp }
56
+ - { os: windows-2019, arch: x86, build: 'cp*', build_id: cp }
57
+ - { os: windows-2019, arch: AMD64, build: 'cp*', build_id: cp }
58
+ - { os: windows-2019, arch: AMD64, build: 'pp*', build_id: pp }
59
+ - { os: windows-2019, arch: ARM64, build: 'cp*', build_id: cp }
60
+ - { os: macos-latest, arch: x86_64, build: 'cp*', build_id: cp }
61
+ - { os: macos-latest, arch: x86_64, build: 'pp*', build_id: pp }
62
+ - { os: macos-latest, arch: arm64, build: 'cp*', build_id: cp }
62
63
63
64
steps :
64
65
- uses : actions/checkout@v4
@@ -221,30 +222,19 @@ jobs:
221
222
- name : Upload wheels
222
223
uses : actions/upload-artifact@v4
223
224
with :
225
+ name : wheels-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.build_id }}
224
226
path : wheelhouse/*.whl
225
227
226
- build_wheels_qemu :
227
- name : ${{ matrix.arch }} ${{ matrix.build }}
228
+ build_wheels_qemu_cp :
229
+ name : ${{ matrix.arch }} ${{ matrix.build_cp }} ${{ matrix.build_sub }}
228
230
runs-on : ubuntu-20.04
229
231
230
232
strategy :
231
233
fail-fast : false
232
234
matrix :
233
235
arch : [aarch64, ppc64le, s390x]
234
- build : [ 'cp36-manylinux*', 'cp37-manylinux*', 'cp38-manylinux*',
235
- ' cp39-manylinux*' , 'cp310-manylinux*', 'cp311-manylinux*',
236
- ' cp312-manylinux*' , 'cp36-musllinux*', 'cp37-musllinux*',
237
- ' cp38-musllinux*' , 'cp39-musllinux*', 'cp310-musllinux*',
238
- ' cp311-musllinux*' , 'cp312-musllinux*' ]
239
- include :
240
- - arch : aarch64
241
- build : ' pp37-*'
242
- - arch : aarch64
243
- build : ' pp38-*'
244
- - arch : aarch64
245
- build : ' pp39-*'
246
- - arch : aarch64
247
- build : ' pp310-*'
236
+ build_cp : [cp36, cp37, cp38, cp39, cp310, cp311, cp312]
237
+ build_sub : [manylinux, musllinux]
248
238
249
239
steps :
250
240
- uses : actions/checkout@v4
@@ -264,7 +254,55 @@ jobs:
264
254
265
255
env :
266
256
CIBW_ARCHS_LINUX : ${{ matrix.arch }}
267
- CIBW_BUILD : ${{ matrix.build }}
257
+ CIBW_BUILD : ${{ matrix.build_cp }}-${{ matrix.build_sub }}*
258
+ CIBW_BUILD_VERBOSITY : 1
259
+ CIBW_ENVIRONMENT : CMAKE_BUILD_PARALLEL_LEVEL=2
260
+ with :
261
+ output-dir : wheelhouse
262
+
263
+ - name : Show files
264
+ run : ls -lh wheelhouse
265
+ shell : bash
266
+
267
+ - name : Verify clean directory
268
+ run : git diff --exit-code
269
+ shell : bash
270
+
271
+ - name : Upload wheels
272
+ uses : actions/upload-artifact@v4
273
+ with :
274
+ name : wheels_qemu_cp-${{ matrix.arch }}-${{ matrix.build_cp }}-${{ matrix.build_sub }}
275
+ path : wheelhouse/*.whl
276
+
277
+ build_wheels_qemu_pp :
278
+ name : ${{ matrix.arch }} ${{ matrix.build_pp }}
279
+ runs-on : ubuntu-20.04
280
+
281
+ strategy :
282
+ fail-fast : false
283
+ matrix :
284
+ arch : [aarch64]
285
+ build_pp : [pp37, pp38, pp39, pp310]
286
+
287
+ steps :
288
+ - uses : actions/checkout@v4
289
+ with :
290
+ submodules : true
291
+
292
+ - uses : actions/setup-python@v5
293
+ with :
294
+ python-version : ' 3.x'
295
+
296
+ - name : Set up QEMU
297
+ uses : docker/setup-qemu-action@v3
298
+ with :
299
+ platforms : all
300
+
301
+ - name : Build wheels for manylinux with qemu
302
+
303
+ env :
304
+ CIBW_ARCHS_LINUX : ${{ matrix.arch }}
305
+ CIBW_BUILD : ${{ matrix.build_pp }}-*
268
306
CIBW_BUILD_VERBOSITY : 1
269
307
CIBW_ENVIRONMENT : CMAKE_BUILD_PARALLEL_LEVEL=2
270
308
with :
@@ -281,13 +319,14 @@ jobs:
281
319
- name : Upload wheels
282
320
uses : actions/upload-artifact@v4
283
321
with :
322
+ name : wheels_qemu_pp-${{ matrix.arch }}-${{ matrix.build_pp }}
284
323
path : wheelhouse/*.whl
285
324
286
325
upload_all :
287
326
permissions :
288
327
contents : none
289
328
name : Upload
290
- needs : [build_wheels, build_wheels_qemu , build_sdist]
329
+ needs : [build_wheels, build_wheels_qemu_cp, build_wheels_qemu_pp , build_sdist]
291
330
runs-on : ubuntu-latest
292
331
293
332
steps :
@@ -297,8 +336,8 @@ jobs:
297
336
298
337
- uses : actions/download-artifact@v4
299
338
with :
300
- name : artifact
301
339
path : dist
340
+ merge-multiple : true
302
341
303
342
- uses : pypa/gh-action-pypi-publish@release/v1
304
343
with :
0 commit comments