1
1
---
2
2
# This is the CI workflow (not the artifact build/release workflow). The workflows
3
3
# are split because GHA doesn't support a dynamic/conditional matrix. This workflow
4
- # has slow jobs and jobs that require private GHA runners (eg, M1 Mac) commented out.defaults:
4
+ # has slow jobs and jobs that require private GHA runners (eg, M1 Mac) commented out.
5
5
# Ensure changes are synced with manual_artifact_build.yaml.
6
6
name : PyYAML CI
7
7
@@ -21,10 +21,10 @@ jobs:
21
21
runs-on : ubuntu-latest
22
22
steps :
23
23
- name : Checkout PyYAML
24
- uses : actions/checkout@v2
24
+ uses : actions/checkout@v3
25
25
26
26
- name : Install a python
27
- uses : actions/setup-python@v2
27
+ uses : actions/setup-python@v4
28
28
with :
29
29
python-version : 3.x
30
30
61
61
python packaging/build/smoketest.py
62
62
63
63
- name : Upload sdist artifact
64
- uses : actions/upload-artifact@v2
64
+ uses : actions/upload-artifact@v3
65
65
with :
66
66
name : dist
67
67
path : dist/*.tar.gz
@@ -77,22 +77,23 @@ jobs:
77
77
- { platform: manylinux2014, arch: x86_64 }
78
78
# - { platform: manylinux2014, arch: aarch64 }
79
79
# - { platform: manylinux2014, arch: s390x }
80
+ - { platform: musllinux_1_1, arch: x86_64 }
80
81
env :
81
82
DOCKER_IMAGE : quay.io/pypa/${{matrix.cfg.platform}}_${{matrix.cfg.arch}}
82
83
steps :
83
84
- name : Check cached libyaml state
84
85
id : cached_libyaml
85
- uses : actions/cache@v2
86
+ uses : actions/cache@v3
86
87
with :
87
88
path : libyaml
88
89
key : libyaml_${{matrix.cfg.platform}}_${{matrix.cfg.arch}}_${{env.LIBYAML_REF}}
89
90
90
91
- name : configure docker foreign arch support
91
- uses : docker/setup-qemu-action@v1
92
+ uses : docker/setup-qemu-action@v2
92
93
if : matrix.cfg.arch != 'x86_64' && steps.cached_libyaml.outputs.cache-hit != 'true'
93
94
94
95
- name : Checkout pyyaml
95
- uses : actions/checkout@v2
96
+ uses : actions/checkout@v3
96
97
if : steps.cached_libyaml.outputs.cache-hit != 'true'
97
98
98
99
- name : Build libyaml
@@ -124,43 +125,49 @@ jobs:
124
125
# - { platform: manylinux1, arch: x86_64, spec: cp38 }
125
126
# - { platform: manylinux1, arch: x86_64, spec: cp39 }
126
127
# - { platform: manylinux2014, arch: x86_64, spec: cp310 }
127
- - { platform: manylinux2014, arch: x86_64, spec: cp311 }
128
+ # - { platform: manylinux2014, arch: x86_64, spec: cp311 }
129
+ - { platform: manylinux2014, arch: x86_64, spec: cp312 }
128
130
# - { platform: manylinux2014, arch: aarch64, spec: cp36 }
129
131
# - { platform: manylinux2014, arch: aarch64, spec: cp37 }
130
132
# - { platform: manylinux2014, arch: aarch64, spec: cp38 }
131
133
# - { platform: manylinux2014, arch: aarch64, spec: cp39 }
132
134
# - { platform: manylinux2014, arch: aarch64, spec: cp310 }
133
135
# - { platform: manylinux2014, arch: aarch64, spec: cp311 }
136
+ # - { platform: manylinux2014, arch: aarch64, spec: cp312 }
134
137
# - { platform: manylinux2014, arch: s390x, spec: cp36 }
135
138
# - { platform: manylinux2014, arch: s390x, spec: cp37 }
136
139
# - { platform: manylinux2014, arch: s390x, spec: cp38 }
137
140
# - { platform: manylinux2014, arch: s390x, spec: cp39 }
138
141
# - { platform: manylinux2014, arch: s390x, spec: cp310 }
139
142
# - { platform: manylinux2014, arch: s390x, spec: cp311 }
143
+ # - { platform: manylinux2014, arch: s390x, spec: cp312 }
144
+ # - { platform: musllinux_1_1, arch: x86_64, spec: cp38 }
145
+ # - { platform: musllinux_1_1, arch: x86_64, spec: cp39 }
146
+ # - { platform: musllinux_1_1, arch: x86_64, spec: cp310 }
147
+ # - { platform: musllinux_1_1, arch: x86_64, spec: cp311 }
148
+ - { platform: musllinux_1_1, arch: x86_64, spec: cp312 }
140
149
141
150
steps :
142
151
- name : Checkout PyYAML
143
- uses : actions/checkout@v2
152
+ uses : actions/checkout@v3
144
153
145
154
- name : Fetch cached libyaml
146
155
id : cached_libyaml
147
- uses : actions/cache@v2
156
+ uses : actions/cache/restore@v3
148
157
with :
149
158
path : libyaml
150
159
key : libyaml_${{matrix.platform}}_${{matrix.arch}}_${{env.LIBYAML_REF}}
151
-
152
- - name : Ensure libyaml fetched
153
- run : exit 1
154
- if : steps.cached_libyaml.outputs.cache-hit != 'true'
160
+ fail-on-cache-miss : true
155
161
156
162
- name : configure docker foreign arch support
157
- uses : docker/setup-qemu-action@v1
163
+ uses : docker/setup-qemu-action@v2
158
164
if : matrix.arch != 'x86_64'
159
165
160
166
- name : Build/Test/Package
161
167
env :
162
168
CIBW_ARCHS : all
163
- CIBW_BUILD : ${{matrix.spec}}-manylinux_${{matrix.arch}}
169
+ # HACK: ick, maybe deconstruct the matrix a bit or query cibuildwheel for its default target *linux spec first?
170
+ CIBW_BUILD : ${{matrix.spec}}-${{ contains(matrix.platform, 'musllinux') && 'musllinux' || 'manylinux' }}_${{matrix.arch}}
164
171
CIBW_BUILD_VERBOSITY : 1
165
172
# containerized Linux builds require explicit CIBW_ENVIRONMENT
166
173
CIBW_ENVIRONMENT : >
@@ -177,7 +184,7 @@ jobs:
177
184
python3 -m cibuildwheel --platform auto --output-dir dist .
178
185
179
186
- name : Upload artifacts
180
- uses : actions/upload-artifact@v2
187
+ uses : actions/upload-artifact@v3
181
188
with :
182
189
name : dist
183
190
path : dist/*.whl
@@ -201,13 +208,13 @@ jobs:
201
208
steps :
202
209
- name : Check cached libyaml state
203
210
id : cached_libyaml
204
- uses : actions/cache@v2
211
+ uses : actions/cache@v3
205
212
with :
206
213
path : libyaml
207
214
key : libyaml_macos_${{matrix.arch}}_${{env.LIBYAML_REF}}
208
215
209
216
- name : Checkout PyYAML
210
- uses : actions/checkout@v2
217
+ uses : actions/checkout@v3
211
218
if : steps.cached_libyaml.outputs.cache-hit != 'true'
212
219
213
220
- name : Build libyaml
@@ -232,16 +239,18 @@ jobs:
232
239
strategy :
233
240
matrix :
234
241
include :
235
- - spec : cp36-macosx_x86_64
236
- cibw_version : cibuildwheel==2.11.1
242
+ # - spec: cp36-macosx_x86_64
243
+ # cibw_version: cibuildwheel==2.11.1
237
244
# - spec: cp37-macosx_x86_64
245
+ # cibw_version: cibuildwheel==2.11.1
238
246
# - spec: cp38-macosx_x86_64
247
+ # cibw_version: cibuildwheel==2.11.1
239
248
# - spec: cp39-macosx_x86_64
240
249
# - spec: cp310-macosx_x86_64
241
- - spec : cp311-macosx_x86_64
250
+ # - spec: cp311-macosx_x86_64
251
+ - spec : cp312-macosx_x86_64
242
252
243
253
# # build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
244
- # # FIXME: ? cp38-macosx_arm64 requires special handling and fails some test_zdist tests under cibw 2.1.2, skip it (so Apple's XCode python3 won't have a wheel)
245
254
# - spec: cp39-macosx_arm64
246
255
# deployment_target: '11.0'
247
256
# runs_on: [self-hosted, macOS, arm64]
@@ -261,22 +270,26 @@ jobs:
261
270
# runs_on: [self-hosted, macOS, arm64]
262
271
# arch: arm64
263
272
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
273
+ # sdkroot: macosx11.3
274
+ #
275
+ # - spec: cp312-macosx_arm64
276
+ # deployment_target: '11.0'
277
+ # runs_on: [self-hosted, macOS, arm64]
278
+ # arch: arm64
279
+ # run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
264
280
# sdkroot: macosx11.3
265
281
266
282
steps :
267
283
- name : Checkout PyYAML
268
- uses : actions/checkout@v2
284
+ uses : actions/checkout@v3
269
285
270
286
- name : Get cached libyaml state
271
287
id : cached_libyaml
272
- uses : actions/cache@v2
288
+ uses : actions/cache/restore@v3
273
289
with :
274
290
path : libyaml
275
291
key : libyaml_macos_${{ matrix.arch || 'x86_64' }}_${{env.LIBYAML_REF}}
276
-
277
- - name : Ensure libyaml fetched
278
- run : exit 1
279
- if : steps.cached_libyaml.outputs.cache-hit != 'true'
292
+ fail-on-cache-miss : true
280
293
281
294
- name : Build/Test/Package
282
295
env :
@@ -293,7 +306,7 @@ jobs:
293
306
python3 -m cibuildwheel --platform auto --output-dir dist .
294
307
295
308
- name : Upload artifacts
296
- uses : actions/upload-artifact@v2
309
+ uses : actions/upload-artifact@v3
297
310
with :
298
311
name : dist
299
312
path : dist/*.whl
@@ -312,7 +325,7 @@ jobs:
312
325
steps :
313
326
- name : Get cached libyaml state
314
327
id : cached_libyaml
315
- uses : actions/cache@v2
328
+ uses : actions/cache@v3
316
329
with :
317
330
path : libyaml
318
331
key : libyaml_${{matrix.platform}}_${{matrix.arch}}_${{env.LIBYAML_REF}}
@@ -347,10 +360,10 @@ jobs:
347
360
strategy :
348
361
matrix :
349
362
include :
350
- - platform : windows-2019
351
- build_arch : x64
352
- python_arch : x64
353
- spec : 3.6
363
+ # - platform: windows-2019
364
+ # build_arch: x64
365
+ # python_arch: x64
366
+ # spec: 3.6
354
367
# - platform: windows-2019
355
368
# build_arch: x64
356
369
# python_arch: x64
@@ -367,14 +380,18 @@ jobs:
367
380
# build_arch: x64
368
381
# python_arch: x64
369
382
# spec: '3.10'
383
+ # - platform: windows-2019
384
+ # build_arch: x64
385
+ # python_arch: x64
386
+ # spec: '3.11'
370
387
- platform : windows-2019
371
388
build_arch : x64
372
389
python_arch : x64
373
- spec : ' 3.11 '
374
- - platform : windows-2019
375
- build_arch : win32
376
- python_arch : x86
377
- spec : 3.6
390
+ spec : ' 3.12.0-rc.1 '
391
+ # - platform: windows-2019
392
+ # build_arch: win32
393
+ # python_arch: x86
394
+ # spec: 3.6
378
395
# - platform: windows-2019
379
396
# build_arch: win32
380
397
# python_arch: x86
@@ -391,10 +408,14 @@ jobs:
391
408
# build_arch: win32
392
409
# python_arch: x86
393
410
# spec: '3.10'
411
+ # - platform: windows-2019
412
+ # build_arch: win32
413
+ # python_arch: x86
414
+ # spec: '3.11'
394
415
- platform : windows-2019
395
416
build_arch : win32
396
417
python_arch : x86
397
- spec : ' 3.11 '
418
+ spec : ' 3.12.0-rc.1 '
398
419
steps :
399
420
# autocrlf screws up tests under Windows
400
421
- name : Set git to use LF
@@ -403,21 +424,18 @@ jobs:
403
424
git config --global core.eol lf
404
425
405
426
- name : Checkout pyyaml
406
- uses : actions/checkout@v2
427
+ uses : actions/checkout@v3
407
428
408
429
- name : Get cached libyaml state
409
430
id : cached_libyaml
410
- uses : actions/cache@v2
431
+ uses : actions/cache/restore@v3
411
432
with :
412
433
path : libyaml
413
434
key : libyaml_${{matrix.platform}}_${{matrix.build_arch}}_${{env.LIBYAML_REF}}
414
-
415
- - name : Ensure libyaml fetched
416
- run : exit 1
417
- if : steps.cached_libyaml.outputs.cache-hit != 'true'
435
+ fail-on-cache-miss : true
418
436
419
437
- name : Install python ${{ matrix.spec }}
420
- uses : actions/setup-python@v2
438
+ uses : actions/setup-python@v4
421
439
with :
422
440
architecture : ${{ matrix.python_arch }}
423
441
python-version : ${{ matrix.spec }}
@@ -430,7 +448,7 @@ jobs:
430
448
run : |
431
449
set -eux
432
450
python -V
433
- python -m pip install "Cython<3.0" wheel
451
+ python -m pip install "Cython<3.0" setuptools wheel
434
452
435
453
python setup.py \
436
454
--with-libyaml build_ext \
@@ -444,7 +462,7 @@ jobs:
444
462
python tests/lib/test_all.py
445
463
446
464
- name : Upload artifacts
447
- uses : actions/upload-artifact@v2
465
+ uses : actions/upload-artifact@v3
448
466
with :
449
467
name : dist
450
468
path : dist/*.whl
0 commit comments