feat: add Python 3.12 beta 1 (#1507)

* feat: add Python 3.12 beta 1

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* fix: try updating some versions to (near) final 3.6 supported version

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* tests: skip dep check on 3.6

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Update test pip version pin

* Fix expected wheels check

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
Henry Schreiner
2023-05-26 21:14:55 -07:00
committed by GitHub
co-authored by Joe Rickerby
parent b2bc6fdda6
commit 8499628a5b
20 changed files with 112 additions and 49 deletions
@@ -6,12 +6,14 @@ python_configurations = [
{ identifier = "cp39-manylinux_x86_64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-manylinux_x86_64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-manylinux_x86_64", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-manylinux_x86_64", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-manylinux_i686", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-manylinux_i686", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-manylinux_i686", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-manylinux_i686", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-manylinux_i686", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-manylinux_i686", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-manylinux_i686", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "pp37-manylinux_x86_64", version = "3.7", path_str = "/opt/python/pp37-pypy37_pp73" },
{ identifier = "pp38-manylinux_x86_64", version = "3.8", path_str = "/opt/python/pp38-pypy38_pp73" },
{ identifier = "pp39-manylinux_x86_64", version = "3.9", path_str = "/opt/python/pp39-pypy39_pp73" },
@@ -21,18 +23,21 @@ python_configurations = [
{ identifier = "cp39-manylinux_aarch64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-manylinux_aarch64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-manylinux_aarch64", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-manylinux_aarch64", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-manylinux_ppc64le", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-manylinux_ppc64le", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-manylinux_ppc64le", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-manylinux_ppc64le", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-manylinux_ppc64le", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-manylinux_ppc64le", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-manylinux_ppc64le", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-manylinux_s390x", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-manylinux_s390x", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-manylinux_s390x", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-manylinux_s390x", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-manylinux_s390x", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-manylinux_s390x", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-manylinux_s390x", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "pp37-manylinux_aarch64", version = "3.7", path_str = "/opt/python/pp37-pypy37_pp73" },
{ identifier = "pp38-manylinux_aarch64", version = "3.8", path_str = "/opt/python/pp38-pypy38_pp73" },
{ identifier = "pp39-manylinux_aarch64", version = "3.9", path_str = "/opt/python/pp39-pypy39_pp73" },
@@ -45,30 +50,35 @@ python_configurations = [
{ identifier = "cp39-musllinux_x86_64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_x86_64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-musllinux_x86_64", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-musllinux_x86_64", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-musllinux_i686", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_i686", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_i686", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_i686", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_i686", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-musllinux_i686", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-musllinux_i686", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-musllinux_aarch64", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_aarch64", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_aarch64", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_aarch64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_aarch64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-musllinux_aarch64", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-musllinux_aarch64", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-musllinux_ppc64le", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_ppc64le", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_ppc64le", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_ppc64le", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_ppc64le", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-musllinux_ppc64le", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-musllinux_ppc64le", version = "3.12", path_str = "/opt/python/cp312-cp312" },
{ identifier = "cp36-musllinux_s390x", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_s390x", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_s390x", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_s390x", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_s390x", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp311-musllinux_s390x", version = "3.11", path_str = "/opt/python/cp311-cp311" },
{ identifier = "cp312-musllinux_s390x", version = "3.12", path_str = "/opt/python/cp312-cp312" },
]
[macos]
@@ -87,6 +97,9 @@ python_configurations = [
{ identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg" },
{ identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg" },
{ identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg" },
{ identifier = "cp312-macosx_x86_64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0b1-macos11.pkg" },
{ identifier = "cp312-macosx_arm64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0b1-macos11.pkg" },
{ identifier = "cp312-macosx_universal2", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0b1-macos11.pkg" },
{ identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" },
{ identifier = "pp38-macosx_x86_64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_x86_64.tar.bz2" },
{ identifier = "pp38-macosx_arm64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_arm64.tar.bz2" },
@@ -108,9 +121,12 @@ python_configurations = [
{ identifier = "cp310-win_amd64", version = "3.10.11", arch = "64" },
{ identifier = "cp311-win32", version = "3.11.3", arch = "32" },
{ identifier = "cp311-win_amd64", version = "3.11.3", arch = "64" },
{ identifier = "cp312-win32", version = "3.12.0-b1", arch = "32" },
{ identifier = "cp312-win_amd64", version = "3.12.0-b1", arch = "64" },
{ identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" },
{ identifier = "cp310-win_arm64", version = "3.10.11", arch = "ARM64" },
{ identifier = "cp311-win_arm64", version = "3.11.3", arch = "ARM64" },
{ identifier = "cp312-win_arm64", version = "3.12.0-b1", arch = "ARM64" },
{ identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" },
{ identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-win64.zip" },
{ identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.11-win64.zip" },
@@ -14,7 +14,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
@@ -24,5 +24,5 @@ wheel==0.40.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
@@ -14,7 +14,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
@@ -24,5 +24,5 @@ wheel==0.40.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
@@ -0,0 +1,28 @@
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# nox -s update_constraints-3.12
#
delocate==0.10.4
# via -r cibuildwheel/resources/constraints.in
distlib==0.3.6
# via virtualenv
filelock==3.12.0
# via virtualenv
packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
wheel==0.40.0
# via -r cibuildwheel/resources/constraints.in
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
@@ -16,7 +16,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via
# delocate
# importlib-metadata
@@ -31,5 +31,5 @@ zipp==3.15.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
@@ -14,7 +14,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
@@ -24,5 +24,5 @@ wheel==0.40.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
@@ -14,7 +14,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
@@ -24,5 +24,5 @@ wheel==0.40.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
+4 -4
View File
@@ -1,8 +1,8 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# nox -s update_constraints-3.11
# nox -s update_constraints-3.12
#
delocate==0.10.4
# via -r cibuildwheel/resources/constraints.in
@@ -14,7 +14,7 @@ packaging==23.1
# via delocate
platformdirs==3.5.1
# via virtualenv
typing-extensions==4.5.0
typing-extensions==4.6.2
# via delocate
virtualenv==20.23.0
# via -r cibuildwheel/resources/constraints.in
@@ -24,5 +24,5 @@ wheel==0.40.0
# The following packages are considered to be unsafe in a requirements file:
pip==23.1.2
# via -r cibuildwheel/resources/constraints.in
setuptools==67.7.2
setuptools==67.8.0
# via -r cibuildwheel/resources/constraints.in
+19 -19
View File
@@ -1,49 +1,49 @@
[x86_64]
manylinux1 = quay.io/pypa/manylinux1_x86_64:2023-05-01-496eb35
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-04-30-c9c30dc
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-05-24-3bf828e
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2023-05-24-3bf828e
[i686]
manylinux1 = quay.io/pypa/manylinux1_i686:2023-05-01-496eb35
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2023-04-30-c9c30dc
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2023-05-24-3bf828e
[pypy_x86_64]
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-05-24-3bf828e
[pypy_i686]
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
[aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-04-30-c9c30dc
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-05-24-3bf828e
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2023-05-24-3bf828e
[ppc64le]
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2023-04-30-c9c30dc
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2023-05-24-3bf828e
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2023-05-24-3bf828e
[s390x]
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2023-04-30-c9c30dc
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2023-05-24-3bf828e
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2023-05-24-3bf828e
[pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-04-30-c9c30dc
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-05-24-3bf828e
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-04-30-c9c30dc
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-05-24-3bf828e
+1 -1
View File
@@ -252,7 +252,7 @@ class BuildSelector:
requires_python: SpecifierSet | None = None
# a pattern that skips prerelease versions, when include_prereleases is False.
PRERELEASE_SKIP: ClassVar[str] = ""
PRERELEASE_SKIP: ClassVar[str] = "cp312-*"
prerelease_pythons: bool = False
def __call__(self, build_id: str) -> bool: