Skip to content

Commit f873cfe

Browse files
mayeutnitzmahone
andauthored
Add python 3.11 support (#663)
* security disclosure docs * Add python 3.11 support * ci: use `windows-2019` runners `windows-2016` runners have been removed * ci: use CPython 3.11.0-rc.2 for Windows builds Co-authored-by: Matt Davis <[email protected]>
1 parent 8cdff2c commit f873cfe

File tree

5 files changed

+80
-31
lines changed

5 files changed

+80
-31
lines changed

.github/SECURITY.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# PyYAML Security Policy
2+
3+
## Reporting a Suspected Vulnerability
4+
5+
The PyYAML project encourages responsible disclosure of suspected security
6+
vulnerabilities. However, we do not offer bug bounties, paid disclosure, or
7+
paid fixes for discovered vulnerabilities. To report a suspected security
8+
vulnerability, please e-mail details to <[email protected]> without creating
9+
public issues, pull requests, or discussion. Non-security correspondence to
10+
this address will be ignored.

.github/workflows/ci.yaml

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -123,17 +123,20 @@ jobs:
123123
# - { platform: manylinux1, arch: x86_64, spec: cp37 }
124124
# - { platform: manylinux1, arch: x86_64, spec: cp38 }
125125
# - { platform: manylinux1, arch: x86_64, spec: cp39 }
126-
- { platform: manylinux2014, arch: x86_64, spec: cp310 }
126+
# - { platform: manylinux2014, arch: x86_64, spec: cp310 }
127+
- { platform: manylinux2014, arch: x86_64, spec: cp311 }
127128
# - { platform: manylinux2014, arch: aarch64, spec: cp36 }
128129
# - { platform: manylinux2014, arch: aarch64, spec: cp37 }
129130
# - { platform: manylinux2014, arch: aarch64, spec: cp38 }
130131
# - { platform: manylinux2014, arch: aarch64, spec: cp39 }
131132
# - { platform: manylinux2014, arch: aarch64, spec: cp310 }
133+
# - { platform: manylinux2014, arch: aarch64, spec: cp311 }
132134
# - { platform: manylinux2014, arch: s390x, spec: cp36 }
133135
# - { platform: manylinux2014, arch: s390x, spec: cp37 }
134136
# - { platform: manylinux2014, arch: s390x, spec: cp38 }
135137
# - { platform: manylinux2014, arch: s390x, spec: cp39 }
136138
# - { platform: manylinux2014, arch: s390x, spec: cp310 }
139+
# - { platform: manylinux2014, arch: s390x, spec: cp311 }
137140

138141
steps:
139142
- name: Checkout PyYAML
@@ -233,7 +236,8 @@ jobs:
233236
# - spec: cp37-macosx_x86_64
234237
# - spec: cp38-macosx_x86_64
235238
# - spec: cp39-macosx_x86_64
236-
- spec: cp310-macosx_x86_64
239+
# - spec: cp310-macosx_x86_64
240+
- spec: cp311-macosx_x86_64
237241

238242
# # build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
239243
# # 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)
@@ -249,6 +253,13 @@ jobs:
249253
# runs_on: [self-hosted, macOS, arm64]
250254
# arch: arm64
251255
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
256+
# sdkroot: macosx11.3
257+
#
258+
# - spec: cp311-macosx_arm64
259+
# deployment_target: '11.0'
260+
# runs_on: [self-hosted, macOS, arm64]
261+
# arch: arm64
262+
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
252263
# sdkroot: macosx11.3
253264

254265
steps:
@@ -293,9 +304,9 @@ jobs:
293304
strategy:
294305
matrix:
295306
include:
296-
- platform: windows-2016
307+
- platform: windows-2019
297308
arch: x64
298-
- platform: windows-2016
309+
- platform: windows-2019
299310
arch: win32
300311
steps:
301312
- name: Get cached libyaml state
@@ -323,7 +334,7 @@ jobs:
323334
mkdir libyaml/build
324335
325336
pushd libyaml/build
326-
cmake.exe -G "Visual Studio 15 2017" -A ${{ matrix.arch }} -DYAML_STATIC_LIB_NAME=yaml ..
337+
cmake.exe -G "Visual Studio 16 2019" -A ${{ matrix.arch }} -DYAML_STATIC_LIB_NAME=yaml ..
327338
cmake.exe --build . --config Release
328339
popd
329340
@@ -335,46 +346,54 @@ jobs:
335346
strategy:
336347
matrix:
337348
include:
338-
- platform: windows-2016
349+
- platform: windows-2019
339350
build_arch: x64
340351
python_arch: x64
341352
spec: 3.6
342-
# - platform: windows-2016
353+
# - platform: windows-2019
343354
# build_arch: x64
344355
# python_arch: x64
345356
# spec: 3.7
346-
# - platform: windows-2016
357+
# - platform: windows-2019
347358
# build_arch: x64
348359
# python_arch: x64
349360
# spec: 3.8
350-
# - platform: windows-2016
361+
# - platform: windows-2019
351362
# build_arch: x64
352363
# python_arch: x64
353364
# spec: 3.9
354-
- platform: windows-2016
365+
# - platform: windows-2019
366+
# build_arch: x64
367+
# python_arch: x64
368+
# spec: '3.10'
369+
- platform: windows-2019
355370
build_arch: x64
356371
python_arch: x64
357-
spec: '3.10'
358-
- platform: windows-2016
372+
spec: '3.11.0-rc.2'
373+
- platform: windows-2019
359374
build_arch: win32
360375
python_arch: x86
361376
spec: 3.6
362-
# - platform: windows-2016
377+
# - platform: windows-2019
363378
# build_arch: win32
364379
# python_arch: x86
365380
# spec: 3.7
366-
# - platform: windows-2016
381+
# - platform: windows-2019
367382
# build_arch: win32
368383
# python_arch: x86
369384
# spec: 3.8
370-
# - platform: windows-2016
385+
# - platform: windows-2019
371386
# build_arch: win32
372387
# python_arch: x86
373388
# spec: 3.9
374-
- platform: windows-2016
389+
# - platform: windows-2019
390+
# build_arch: win32
391+
# python_arch: x86
392+
# spec: '3.10'
393+
- platform: windows-2019
375394
build_arch: win32
376395
python_arch: x86
377-
spec: '3.10'
396+
spec: '3.11.0-rc.2'
378397
steps:
379398
# autocrlf screws up tests under Windows
380399
- name: Set git to use LF

.github/workflows/manual_artifact_build.yaml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,19 @@ jobs:
122122
- { platform: manylinux1, arch: x86_64, spec: cp38 }
123123
- { platform: manylinux1, arch: x86_64, spec: cp39 }
124124
- { platform: manylinux2014, arch: x86_64, spec: cp310 }
125+
- { platform: manylinux2014, arch: x86_64, spec: cp311 }
125126
- { platform: manylinux2014, arch: aarch64, spec: cp36 }
126127
- { platform: manylinux2014, arch: aarch64, spec: cp37 }
127128
- { platform: manylinux2014, arch: aarch64, spec: cp38 }
128129
- { platform: manylinux2014, arch: aarch64, spec: cp39 }
129130
- { platform: manylinux2014, arch: aarch64, spec: cp310 }
131+
- { platform: manylinux2014, arch: aarch64, spec: cp311 }
130132
- { platform: manylinux2014, arch: s390x, spec: cp36 }
131133
- { platform: manylinux2014, arch: s390x, spec: cp37 }
132134
- { platform: manylinux2014, arch: s390x, spec: cp38 }
133135
- { platform: manylinux2014, arch: s390x, spec: cp39 }
134136
- { platform: manylinux2014, arch: s390x, spec: cp310 }
137+
- { platform: manylinux2014, arch: s390x, spec: cp311 }
135138

136139
steps:
137140
- name: Checkout PyYAML
@@ -232,6 +235,7 @@ jobs:
232235
- spec: cp38-macosx_x86_64
233236
- spec: cp39-macosx_x86_64
234237
- spec: cp310-macosx_x86_64
238+
- spec: cp311-macosx_x86_64
235239

236240
# build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
237241
# 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)
@@ -249,6 +253,13 @@ jobs:
249253
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
250254
sdkroot: macosx11.3
251255

256+
- spec: cp311-macosx_arm64
257+
deployment_target: '11.0'
258+
runs_on: [self-hosted, macOS, arm64]
259+
arch: arm64
260+
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
261+
sdkroot: macosx11.3
262+
252263
steps:
253264
- name: Checkout PyYAML
254265
uses: actions/checkout@v2
@@ -291,9 +302,9 @@ jobs:
291302
strategy:
292303
matrix:
293304
include:
294-
- platform: windows-2016
305+
- platform: windows-2019
295306
arch: x64
296-
- platform: windows-2016
307+
- platform: windows-2019
297308
arch: win32
298309
steps:
299310
- name: Get cached libyaml state
@@ -321,7 +332,7 @@ jobs:
321332
mkdir libyaml/build
322333
323334
pushd libyaml/build
324-
cmake.exe -G "Visual Studio 15 2017" -A ${{ matrix.arch }} -DYAML_STATIC_LIB_NAME=yaml ..
335+
cmake.exe -G "Visual Studio 16 2019" -A ${{ matrix.arch }} -DYAML_STATIC_LIB_NAME=yaml ..
325336
cmake.exe --build . --config Release
326337
popd
327338
@@ -333,46 +344,54 @@ jobs:
333344
strategy:
334345
matrix:
335346
include:
336-
- platform: windows-2016
347+
- platform: windows-2019
337348
build_arch: x64
338349
python_arch: x64
339350
spec: 3.6
340-
- platform: windows-2016
351+
- platform: windows-2019
341352
build_arch: x64
342353
python_arch: x64
343354
spec: 3.7
344-
- platform: windows-2016
355+
- platform: windows-2019
345356
build_arch: x64
346357
python_arch: x64
347358
spec: 3.8
348-
- platform: windows-2016
359+
- platform: windows-2019
349360
build_arch: x64
350361
python_arch: x64
351362
spec: 3.9
352-
- platform: windows-2016
363+
- platform: windows-2019
353364
build_arch: x64
354365
python_arch: x64
355366
spec: '3.10'
356-
- platform: windows-2016
367+
- platform: windows-2019
368+
build_arch: x64
369+
python_arch: x64
370+
spec: '3.11.0-rc.2'
371+
- platform: windows-2019
357372
build_arch: win32
358373
python_arch: x86
359374
spec: 3.6
360-
- platform: windows-2016
375+
- platform: windows-2019
361376
build_arch: win32
362377
python_arch: x86
363378
spec: 3.7
364-
- platform: windows-2016
379+
- platform: windows-2019
365380
build_arch: win32
366381
python_arch: x86
367382
spec: 3.8
368-
- platform: windows-2016
383+
- platform: windows-2019
369384
build_arch: win32
370385
python_arch: x86
371386
spec: 3.9
372-
- platform: windows-2016
387+
- platform: windows-2019
373388
build_arch: win32
374389
python_arch: x86
375390
spec: '3.10'
391+
- platform: windows-2019
392+
build_arch: win32
393+
python_arch: x86
394+
spec: '3.11.0-rc.2'
376395
steps:
377396
# autocrlf screws up tests under Windows
378397
- name: Set git to use LF

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"Programming Language :: Python :: 3.8",
3434
"Programming Language :: Python :: 3.9",
3535
"Programming Language :: Python :: 3.10",
36+
"Programming Language :: Python :: 3.11",
3637
"Programming Language :: Python :: Implementation :: CPython",
3738
"Programming Language :: Python :: Implementation :: PyPy",
3839
"Topic :: Software Development :: Libraries :: Python Modules",

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = pypy3,py36,py37,py38,py39,py310
2+
envlist = pypy3,py36,py37,py38,py39,py310,py311
33

44
[testenv]
55
deps =

0 commit comments

Comments
 (0)