From 8573ee2f9d7d75a8969bd4e9011e193cbb282876 Mon Sep 17 00:00:00 2001 From: Noah Stapp Date: Thu, 20 Jul 2023 10:47:29 -0700 Subject: [PATCH] PYTHON-3681 Build wheels for Python 3.12 beta (#1304) --- .evergreen/build-manylinux-internal.sh | 2 +- .evergreen/build-manylinux.sh | 3 ++- .evergreen/build-windows.sh | 2 +- .evergreen/config.yml | 12 ++++++++++++ pyproject.toml | 1 + 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.evergreen/build-manylinux-internal.sh b/.evergreen/build-manylinux-internal.sh index 6f1c58fd8..9943a983c 100755 --- a/.evergreen/build-manylinux-internal.sh +++ b/.evergreen/build-manylinux-internal.sh @@ -11,7 +11,7 @@ mv dist/* validdist || true # Compile wheels for PYTHON in /opt/python/*/bin/python; do - if [[ ! $PYTHON =~ (cp37|cp38|cp39|cp310|cp311) ]]; then + if [[ ! $PYTHON =~ (cp37|cp38|cp39|cp310|cp311|cp312) ]]; then continue fi # https://github.com/pypa/manylinux/issues/49 diff --git a/.evergreen/build-manylinux.sh b/.evergreen/build-manylinux.sh index 38490c314..11cf1dd23 100755 --- a/.evergreen/build-manylinux.sh +++ b/.evergreen/build-manylinux.sh @@ -43,7 +43,8 @@ unexpected=$(find dist \! \( -iname dist -or \ -iname '*cp38*' -or \ -iname '*cp39*' -or \ -iname '*cp310*' -or \ - -iname '*cp311*' \)) + -iname '*cp311*' -or \ + -iname '*cp312*' \)) if [ -n "$unexpected" ]; then echo "Unexpected files:" $unexpected exit 1 diff --git a/.evergreen/build-windows.sh b/.evergreen/build-windows.sh index 8748e5c18..a3ed0c2f1 100755 --- a/.evergreen/build-windows.sh +++ b/.evergreen/build-windows.sh @@ -8,7 +8,7 @@ rm -rf validdist mkdir -p validdist mv dist/* validdist || true -for VERSION in 37 38 39 310 311; do +for VERSION in 37 38 39 310 311 312; do _pythons=("C:/Python/Python${VERSION}/python.exe" \ "C:/Python/32/Python${VERSION}/python.exe") for PYTHON in "${_pythons[@]}"; do diff --git a/.evergreen/config.yml b/.evergreen/config.yml index cd6ff3803..24325e461 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2505,6 +2505,10 @@ axes: display_name: "Python 3.11" variables: PYTHON_BINARY: "/opt/python/3.11/bin/python3" + - id: "3.12" + display_name: "Python 3.12" + variables: + PYTHON_BINARY: "/opt/python/3.12/bin/python3" - id: "pypy3.7" display_name: "PyPy 3.7" variables: @@ -2545,6 +2549,10 @@ axes: display_name: "Python 3.11" variables: PYTHON_BINARY: "C:/python/Python311/python.exe" + - id: "3.12" + display_name: "Python 3.12" + variables: + PYTHON_BINARY: "C:/python/Python312/python.exe" - id: python-version-windows-32 display_name: "Python" @@ -2569,6 +2577,10 @@ axes: display_name: "32-bit Python 3.11" variables: PYTHON_BINARY: "C:/python/32/Python311/python.exe" + - id: "3.12" + display_name: "32-bit Python 3.12" + variables: + PYTHON_BINARY: "C:/python/32/Python312/python.exe" # Choice of mod_wsgi version - id: mod-wsgi-version diff --git a/pyproject.toml b/pyproject.toml index 09809e9f0..85b322af0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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", "Topic :: Database", "Typing :: Typed", ]