From 5ebf425feb7244627910ab88539bbfb9b0832763 Mon Sep 17 00:00:00 2001 From: Kate Case Date: Wed, 8 Nov 2023 16:14:59 -0500 Subject: [PATCH 1/3] Add Python 3.12 support --- .github/workflows/ci-cd.yml | 5 +++++ docs/changelog-fragments/532.misc.rst | 1 + setup.cfg | 1 + 3 files changed, 7 insertions(+) create mode 100644 docs/changelog-fragments/532.misc.rst diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 84fdef41a..d35ce19bb 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -586,6 +586,7 @@ jobs: # NOTE: Research on the wheel names / platform tags and how they # NOTE: are matched under various macOS versions: # NOTE: https://github.com/MacPython/wiki/wiki/Spinning-wheels + - "3.12" - "3.11" - "3.10" - 3.9 @@ -794,6 +795,7 @@ jobs: - cp39-cp39 - cp310-cp310 - cp311-cp311 + - cp312-cp312 manylinux-year-target: - 2014 - _2_24 @@ -1008,6 +1010,7 @@ jobs: - cp39-cp39 - cp310-cp310 - cp311-cp311 + - cp312-cp312 manylinux-year-target: - 2014 - _2_24 @@ -1643,6 +1646,7 @@ jobs: strategy: matrix: python-version: + - "3.12" - "3.11" - "3.10" - 3.9 @@ -1867,6 +1871,7 @@ jobs: strategy: matrix: python-version: + - "3.12" - "3.11" - "3.10" - 3.9 diff --git a/docs/changelog-fragments/532.misc.rst b/docs/changelog-fragments/532.misc.rst new file mode 100644 index 000000000..ca799bf79 --- /dev/null +++ b/docs/changelog-fragments/532.misc.rst @@ -0,0 +1 @@ +Added support for Python 3.12 -- by :user:`Qalthos` diff --git a/setup.cfg b/setup.cfg index ca13495b9..cbcf3d0ab 100644 --- a/setup.cfg +++ b/setup.cfg @@ -35,6 +35,7 @@ classifiers = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Programming Language :: Cython Topic :: Software Development :: Libraries :: Python Modules From 6eae90c56a2a380bba396966cb15e263ccf2398d Mon Sep 17 00:00:00 2001 From: Kate Case Date: Tue, 7 Nov 2023 10:29:07 -0500 Subject: [PATCH 2/3] Add manylinux_2_28 tag, prevent cp312-cp312 from running on older versions Also drop some already abandoned arches from tox --- .github/workflows/ci-cd.yml | 14 ++++++++++++++ tox.ini | 8 +++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d35ce19bb..8657c1c27 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -799,6 +799,7 @@ jobs: manylinux-year-target: - 2014 - _2_24 + - _2_28 manylinux-image-target: # NOTE: Keep in sync with `build-manylinux-container-images.yml`. # NOTE: Ordered from "heavy" to "fast". @@ -852,6 +853,12 @@ jobs: arch: x86_64 qemu_arch: amd64 manylinux-year-target: 1 + exclude: + # NOTE: cp312-cp312 unavailable before _2_28 + - manylinux-python-target: cp312-cp312 + manylinux-year-target: 2014 + - manylinux-python-target: cp312-cp312 + manylinux-year-target: _2_24 env: ANSIBLE_PYLIBSSH_TRACING: >- @@ -1014,6 +1021,7 @@ jobs: manylinux-year-target: - 2014 - _2_24 + - _2_28 manylinux-image-target: # NOTE: Keep in sync with `build-manylinux-container-images.yml`. # NOTE: Ordered from "heavy" to "fast". @@ -1021,6 +1029,12 @@ jobs: qemu_arch: arm64 - arch: s390x - arch: ppc64le + exclude: + # NOTE: cp312-cp312 unavailable before _2_28 + - manylinux-python-target: cp312-cp312 + manylinux-year-target: 2014 + - manylinux-python-target: cp312-cp312 + manylinux-year-target: _2_24 env: ANSIBLE_PYLIBSSH_TRACING: >- diff --git a/tox.ini b/tox.ini index 808a1d585..82c339a7e 100644 --- a/tox.ini +++ b/tox.ini @@ -235,7 +235,7 @@ description = Verify that dists under the dist/ dir have valid metadata depends = build-dists - build-dists-manylinux{1,2010,2014,_2_24}-{x86_64,i686,aarch64,armv7l,ppc64,ppc64le,s390x} + build-dists-manylinux{1,2010,2014,_2_24,_2_28}-{x86_64,aarch64,ppc64le,s390x} build-wheels-pip delocate-macos-wheels deps = @@ -250,7 +250,7 @@ commands = twine check --strict {env:PEP517_OUT_DIR}/* -[testenv:build-dists-manylinux{1,2010,2014,_2_24}-{x86_64,i686,aarch64,armv7l,ppc64,ppc64le,s390x}] +[testenv:build-dists-manylinux{1,2010,2014,_2_24,_2_28}-{x86_64,aarch64,ppc64le,s390x}] allowlist_externals = {env:DOCKER_EXECUTABLE:docker} basepython = python3 @@ -278,10 +278,7 @@ setenv = {[testenv]setenv} x86_64: MANYLINUX_ARCH_TAG = x86_64 - i686: MANYLINUX_ARCH_TAG = i686 aarch64: MANYLINUX_ARCH_TAG = aarch64 - armv7l: MANYLINUX_ARCH_TAG = armv7l - ppc64: MANYLINUX_ARCH_TAG = ppc64 ppc64le: MANYLINUX_ARCH_TAG = ppc64le s390x: MANYLINUX_ARCH_TAG = s390x @@ -289,6 +286,7 @@ setenv = manylinux2010: MANYLINUX_VERSION_TAG = 2010 manylinux2014: MANYLINUX_VERSION_TAG = 2014 manylinux_2_24: MANYLINUX_VERSION_TAG = _2_24 + manylinux_2_28: MANYLINUX_VERSION_TAG = _2_28 skip_install = true From d7f03cc383eef921d42036634524bfe7645b80fb Mon Sep 17 00:00:00 2001 From: Kate Case Date: Wed, 8 Nov 2023 14:18:25 -0500 Subject: [PATCH 3/3] Bump cython for python 3.12 --- requirements-build.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-build.txt b/requirements-build.txt index d47d7e8a3..b1cee45e3 100644 --- a/requirements-build.txt +++ b/requirements-build.txt @@ -4,7 +4,7 @@ # # pip-compile --allow-unsafe --output-file=requirements-build.txt --strip-extras - # -cython==0.29.32 +cython==3.0.5 # via -r - expandvars==0.9.0 # via -r -