From 20657c13bd6c84220e492141f7c37e0b2892e5df Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Tue, 9 Jan 2024 09:04:03 -0800 Subject: [PATCH] Add python 3.12 testing to Zuul We use pyenv to install python3.12 on ubuntu jammy (which doesn't have native packages for this version of python). We don't update the container images just yet as we want to build confidence through testing before end users see the new python version in production. Change-Id: I20a57f6d29699886867ce912e9943c59aa9963f4 --- .zuul.yaml | 12 ++++++++++++ bindep.txt | 4 ++++ setup.cfg | 1 + 3 files changed, 17 insertions(+) diff --git a/.zuul.yaml b/.zuul.yaml index 6fdc145e1e..adef9e55aa 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -140,6 +140,16 @@ nox_environment: ZUUL_SCHEDULER_COUNT: 2 +- job: + name: zuul-nox-py312 + # This could probably use some refactoring to have a base unittest job + # that isn't python version specific. + parent: zuul-nox-py311 + vars: + python_use_pyenv: true + nox_force_python: "3.12" + python_version: "3.12" + - job: name: zuul-build-dashboard parent: build-javascript-deployment @@ -361,6 +371,7 @@ nodeset: ubuntu-jammy - zuul-nox-py311 - zuul-nox-py311-multi-scheduler + - zuul-nox-py312 - zuul-build-dashboard-openstack-whitelabel - zuul-build-dashboard-software-factory - zuul-build-dashboard-opendev @@ -394,6 +405,7 @@ nox_install_bindep: false nodeset: ubuntu-jammy - zuul-nox-py311 + - zuul-nox-py312 - zuul-build-dashboard - nodejs-run-lint: vars: diff --git a/bindep.txt b/bindep.txt index 2d475c77a5..09b4980e51 100644 --- a/bindep.txt +++ b/bindep.txt @@ -30,6 +30,10 @@ libffi8 [platform:ubuntu-jammy platform:debian-bookworm] libffi7 [platform:ubuntu-focal platform:debian-bullseye] libffi6 [platform:dpkg !platform:ubuntu-focal !platform:ubuntu-jammy !platform:debian-bullseye !platform:debian-bookworm] libffi-devel [compile test platform:rpm] +# These two compression libs are needed when installing python3.12 from +# source using pyenv. We can drop them once we're using distro packages. +liblzma-dev [test] +libbz2-dev [test] libyaml-0-2 [platform:dpkg platform:suse] libyaml [platform:redhat] libyaml-dev [platform:dpkg compile test] diff --git a/setup.cfg b/setup.cfg index 00ac9ae836..240496a911 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,6 +15,7 @@ classifier = Programming Language :: Python Programming Language :: Python :: 3 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 [pbr] warnerrors = True