From dfc4189062d8a638cc04b6cdb2e2c35de21680e6 Mon Sep 17 00:00:00 2001 From: "Dr. Jens Harbott" Date: Sat, 26 Apr 2025 14:53:15 +0200 Subject: [PATCH] Drop python3.9 from upper constraints Also drop the corresponding jobs and add a non-voting job for python3.13. Change-Id: Iad780b807f19ec75410b1d2a3c7e7c2f5cb2b697 --- .zuul.d/jobs.yaml | 22 ++++++---------------- .zuul.d/project.yaml | 5 ++--- setup.cfg | 6 ++---- tox.ini | 14 ++++++-------- upper-constraints.txt | 27 ++++++++------------------- 5 files changed, 24 insertions(+), 50 deletions(-) diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 51415b5c3a..3b11241a91 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -12,16 +12,6 @@ vars: tox_envlist: babel -- job: - name: requirements-tox-py39-check-uc - parent: openstack-tox-py39 - description: | - Run test for requirements project. - - Uses tox with the ``py39-check-uc`` environment. - files: ^upper-constraints.*txt$ - vars: - tox_envlist: py39-check-uc - job: name: requirements-tox-py310-check-uc parent: openstack-tox-py310 @@ -52,16 +42,16 @@ files: ^upper-constraints.*txt$ vars: tox_envlist: py312-check-uc - - job: - name: requirements-tox-py39-check-uc-no-wheels - parent: requirements-tox-py39-check-uc + name: requirements-tox-py313-check-uc + parent: openstack-tox-py313 description: | Run test for requirements project. - Uses tox with the ``py39-check-uc`` environment. - Does not use wheel mirror. - pre-run: playbooks/drop-wheel-mirror.yaml + Uses tox with the ``py313-check-uc`` environment. + files: ^upper-constraints.*txt$ + vars: + tox_envlist: py313-check-uc - job: name: requirements-tox-py310-check-uc-no-wheels diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index e5d63fe636..50632e9ea0 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -17,10 +17,11 @@ - requirements-tox-babel - requirements-tox-bindep: voting: false - - requirements-tox-py39-check-uc - requirements-tox-py310-check-uc - requirements-tox-py311-check-uc - requirements-tox-py312-check-uc + - requirements-tox-py313-check-uc: + voting: false - requirements-tox-validate-projects: voting: false - cross-aodh-py312 @@ -82,7 +83,6 @@ - openstack-tox-validate - requirements-check-self - requirements-tox-babel - - requirements-tox-py39-check-uc - requirements-tox-py310-check-uc - requirements-tox-py311-check-uc - requirements-tox-py312-check-uc @@ -118,7 +118,6 @@ jobs: - nova-ceph-multistore - nova-next - - requirements-tox-py39-check-uc-no-wheels - requirements-tox-py310-check-uc-no-wheels - requirements-tox-py311-check-uc-no-wheels - requirements-tox-py312-check-uc-no-wheels diff --git a/setup.cfg b/setup.cfg index 6c17f7c47b..2316101795 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,11 +16,9 @@ classifier = Operating System :: MacOS :: MacOS X Programming Language :: Python Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 [files] packages = diff --git a/tox.ini b/tox.ini index 23069cc8d4..a675a6b474 100644 --- a/tox.ini +++ b/tox.ini @@ -12,13 +12,6 @@ deps = -c{toxinidir}/upper-constraints.txt commands = stestr run {posargs} -[testenv:py39-check-uc] -allowlist_externals = - check-conflicts -basepython = python3.9 -deps = -r{toxinidir}/upper-constraints.txt -commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt - [testenv:py310-check-uc] basepython = python3.10 deps = -r{toxinidir}/upper-constraints.txt @@ -34,6 +27,11 @@ basepython = python3.12 deps = -r{toxinidir}/upper-constraints.txt commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt +[testenv:py313-check-uc] +basepython = python3.13 +deps = -r{toxinidir}/upper-constraints.txt +commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt + [testenv:venv] commands = {posargs} @@ -44,7 +42,7 @@ description = Regenerates upper-constraints.txt # Generate needs an unconstrained install to get new dependencies deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -commands = generate-constraints {posargs: -d denylist.txt -r global-requirements.txt -p python3.8 -p python3.9 -p python3.10 -p python3.11 > upper-constraints.txt} +commands = generate-constraints {posargs: -d denylist.txt -r global-requirements.txt -p python3.10 -p python3.11 -p python3.12 -p python3.13 > upper-constraints.txt} [testenv:validate] allowlist_externals = diff --git a/upper-constraints.txt b/upper-constraints.txt index f4de5abc83..0a44eacc4d 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -39,8 +39,7 @@ ntc_templates===7.7.0 sphinxcontrib-nwdiag===2.0.0 rbd-iscsi-client===0.1.8 requests-aws===0.1.8 -alabaster===0.7.16;python_version=='3.9' -alabaster===1.0.0;python_version>='3.10' +alabaster===1.0.0 multidict===6.1.0 pbr===6.1.1 munch===4.0.0 @@ -48,8 +47,7 @@ waiting===1.5.0 attrs===25.1.0 microversion-parse===2.0.0 jwcrypto===1.5.6 -Pint===0.23;python_version=='3.9' -Pint===0.24.4;python_version>='3.10' +Pint===0.24.4 oslo.i18n===6.5.1 jsonpath-rw-ext===1.2.2 python-mistralclient===5.4.0 @@ -89,8 +87,7 @@ python-vitrageclient===5.2.0 py-pure-client===1.62.0 krest===1.3.6 psycopg2===2.9.10 -networkx===3.2.1;python_version=='3.9' -networkx===3.4.2;python_version>='3.10' +networkx===3.4.2 cheroot===10.0.1 XStatic-Angular===1.8.2.2 types-requests===2.31.0.6 @@ -105,8 +102,7 @@ python-swiftclient===4.7.0 pyOpenSSL===24.2.1 monasca-common===3.8.0 zeroconf===0.145.1 -scipy===1.13.1;python_version=='3.9' -scipy===1.15.2;python_version>='3.10' +scipy===1.15.2 opentelemetry-exporter-otlp===1.30.0 python-gnupg===0.5.4 mypy-extensions===1.0.0 @@ -150,7 +146,6 @@ taskflow===5.12.0 arrow===1.3.0 semantic-version===2.10.0 async-timeout===5.0.1;python_version=='3.10' -async-timeout===5.0.1;python_version=='3.9' virtualbmc===3.2.0 SQLAlchemy===2.0.38 pyroute2===0.8.1 @@ -210,7 +205,6 @@ python-novaclient===18.9.0 pact===1.12.0 bcrypt===4.0.1 exceptiongroup===1.2.2;python_version=='3.10' -exceptiongroup===1.2.2;python_version=='3.9' os-client-config===2.1.0 XStatic-Angular-Gettext===2.4.1.0 Deprecated===1.2.18 @@ -243,8 +237,7 @@ XStatic-JQuery-Migrate===3.3.2.1 pytest-html===4.1.1 appdirs===1.4.4 google-auth-httplib2===0.2.0 -daiquiri===3.2.5.1;python_version=='3.9' -daiquiri===3.3.0;python_version>='3.10' +daiquiri===3.3.0 influxdb===5.3.2 funcparserlib===2.0.0a0 passlib===1.7.4 @@ -393,11 +386,9 @@ python-consul===1.1.0 more-itertools===10.6.0 seqdiag===3.0.0 zc.lockfile===3.0.post1 -numpy===2.0.0;python_version=='3.9' -numpy===2.2.3;python_version>='3.10' +numpy===2.2.3 msgpack===1.1.0 -Sphinx===7.4.7;python_version=='3.9' -Sphinx===8.1.3;python_version>='3.10' +Sphinx===8.1.3 oslo.config===9.7.1 openstackdocstheme===3.4.1 osc-placement===4.6.0 @@ -427,7 +418,6 @@ api-object-schema===2.0.0 blinker===1.9.0 WSME===0.12.1 tomli===2.2.1;python_version=='3.10' -tomli===2.2.1;python_version=='3.9' oslo.upgradecheck===2.5.0 sherlock===0.4.1 tempora===5.8.0 @@ -572,8 +562,7 @@ sqlalchemy-filters===0.13.0 sphinxcontrib-runcmd===0.2.0 confspirator===0.3.0 fasteners===0.19 -importlib-metadata===6.2.1;python_version=='3.9' -importlib-metadata===8.5.0;python_version>='3.10' +importlib-metadata===8.5.0 sortedcontainers===2.4.0 python-linstor===1.24.0 filelock===3.17.0