Re-add python3.9 to upper-constraints
This patch partially reverts https://review.opendev.org/c/openstack/requirements/+/948285 re-adding python3.9 compatible libraries to upper-constraints. This is done to give time to projects that still run and support Python3.9 (for example any container/CI jobs based on CentOS Stream 9) to phase off its usage and pass to a more recent Python version. Python 3.9 is expect to EoL in October, we expect to be able to remove its support once and for all before then. Change-Id: Ie03307aac1dffc5cf397a2513c2c44d403a2d2b7
This commit is contained in:
@@ -12,6 +12,17 @@
|
|||||||
vars:
|
vars:
|
||||||
tox_envlist: babel
|
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:
|
- job:
|
||||||
name: requirements-tox-py310-check-uc
|
name: requirements-tox-py310-check-uc
|
||||||
parent: openstack-tox-py310
|
parent: openstack-tox-py310
|
||||||
@@ -53,6 +64,16 @@
|
|||||||
vars:
|
vars:
|
||||||
tox_envlist: py313-check-uc
|
tox_envlist: py313-check-uc
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: requirements-tox-py39-check-uc-no-wheels
|
||||||
|
parent: requirements-tox-py39-check-uc
|
||||||
|
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
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: requirements-tox-py310-check-uc-no-wheels
|
name: requirements-tox-py310-check-uc-no-wheels
|
||||||
parent: requirements-tox-py310-check-uc
|
parent: requirements-tox-py310-check-uc
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
- requirements-tox-babel
|
- requirements-tox-babel
|
||||||
- requirements-tox-bindep:
|
- requirements-tox-bindep:
|
||||||
voting: false
|
voting: false
|
||||||
|
- requirements-tox-py39-check-uc
|
||||||
- requirements-tox-py310-check-uc
|
- requirements-tox-py310-check-uc
|
||||||
- requirements-tox-py311-check-uc
|
- requirements-tox-py311-check-uc
|
||||||
- requirements-tox-py312-check-uc
|
- requirements-tox-py312-check-uc
|
||||||
@@ -83,6 +84,7 @@
|
|||||||
- openstack-tox-validate
|
- openstack-tox-validate
|
||||||
- requirements-check-self
|
- requirements-check-self
|
||||||
- requirements-tox-babel
|
- requirements-tox-babel
|
||||||
|
- requirements-tox-py39-check-uc
|
||||||
- requirements-tox-py310-check-uc
|
- requirements-tox-py310-check-uc
|
||||||
- requirements-tox-py311-check-uc
|
- requirements-tox-py311-check-uc
|
||||||
- requirements-tox-py312-check-uc
|
- requirements-tox-py312-check-uc
|
||||||
@@ -118,6 +120,7 @@
|
|||||||
jobs:
|
jobs:
|
||||||
- nova-ceph-multistore
|
- nova-ceph-multistore
|
||||||
- nova-next
|
- nova-next
|
||||||
|
- requirements-tox-py39-check-uc-no-wheels
|
||||||
- requirements-tox-py310-check-uc-no-wheels
|
- requirements-tox-py310-check-uc-no-wheels
|
||||||
- requirements-tox-py311-check-uc-no-wheels
|
- requirements-tox-py311-check-uc-no-wheels
|
||||||
- requirements-tox-py312-check-uc-no-wheels
|
- requirements-tox-py312-check-uc-no-wheels
|
||||||
|
@@ -16,6 +16,7 @@ classifier =
|
|||||||
Operating System :: MacOS :: MacOS X
|
Operating System :: MacOS :: MacOS X
|
||||||
Programming Language :: Python
|
Programming Language :: Python
|
||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3
|
||||||
|
Programming Language :: Python :: 3.9
|
||||||
Programming Language :: Python :: 3.10
|
Programming Language :: Python :: 3.10
|
||||||
Programming Language :: Python :: 3.11
|
Programming Language :: Python :: 3.11
|
||||||
Programming Language :: Python :: 3.12
|
Programming Language :: Python :: 3.12
|
||||||
|
9
tox.ini
9
tox.ini
@@ -12,6 +12,13 @@ deps = -c{toxinidir}/upper-constraints.txt
|
|||||||
commands =
|
commands =
|
||||||
stestr run {posargs}
|
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]
|
[testenv:py310-check-uc]
|
||||||
basepython = python3.10
|
basepython = python3.10
|
||||||
deps = -r{toxinidir}/upper-constraints.txt
|
deps = -r{toxinidir}/upper-constraints.txt
|
||||||
@@ -42,7 +49,7 @@ description = Regenerates upper-constraints.txt
|
|||||||
# Generate needs an unconstrained install to get new dependencies
|
# Generate needs an unconstrained install to get new dependencies
|
||||||
deps = -r{toxinidir}/requirements.txt
|
deps = -r{toxinidir}/requirements.txt
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.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}
|
commands = generate-constraints {posargs: -d denylist.txt -r global-requirements.txt -p python3.9 -p python3.10 -p python3.11 -p python3.12 -p python3.13 > upper-constraints.txt}
|
||||||
|
|
||||||
[testenv:validate]
|
[testenv:validate]
|
||||||
allowlist_externals =
|
allowlist_externals =
|
||||||
|
@@ -40,7 +40,8 @@ ntc_templates===7.8.0
|
|||||||
sphinxcontrib-nwdiag===2.0.0
|
sphinxcontrib-nwdiag===2.0.0
|
||||||
rbd-iscsi-client===0.1.8
|
rbd-iscsi-client===0.1.8
|
||||||
requests-aws===0.1.8
|
requests-aws===0.1.8
|
||||||
alabaster===1.0.0
|
alabaster===0.7.16;python_version=='3.9'
|
||||||
|
alabaster===1.0.0;python_version>='3.10'
|
||||||
multidict===6.4.3
|
multidict===6.4.3
|
||||||
pbr===6.1.1
|
pbr===6.1.1
|
||||||
munch===4.0.0
|
munch===4.0.0
|
||||||
@@ -48,7 +49,8 @@ waiting===1.5.0
|
|||||||
attrs===25.3.0
|
attrs===25.3.0
|
||||||
microversion-parse===2.0.0
|
microversion-parse===2.0.0
|
||||||
jwcrypto===1.5.6
|
jwcrypto===1.5.6
|
||||||
Pint===0.24.4
|
Pint===0.23;python_version=='3.9'
|
||||||
|
Pint===0.24.4;python_version>='3.10'
|
||||||
oslo.i18n===6.5.1
|
oslo.i18n===6.5.1
|
||||||
jsonpath-rw-ext===1.2.2
|
jsonpath-rw-ext===1.2.2
|
||||||
python-mistralclient===5.4.0
|
python-mistralclient===5.4.0
|
||||||
@@ -88,7 +90,8 @@ python-vitrageclient===5.2.0
|
|||||||
py-pure-client===1.67.0
|
py-pure-client===1.67.0
|
||||||
krest===1.3.6
|
krest===1.3.6
|
||||||
psycopg2===2.9.10
|
psycopg2===2.9.10
|
||||||
networkx===3.4.2
|
networkx===3.2.1;python_version=='3.9'
|
||||||
|
networkx===3.4.2;python_version>='3.10'
|
||||||
cheroot===10.0.1
|
cheroot===10.0.1
|
||||||
XStatic-Angular===1.8.2.2
|
XStatic-Angular===1.8.2.2
|
||||||
types-requests===2.31.0.6
|
types-requests===2.31.0.6
|
||||||
@@ -104,7 +107,8 @@ pyOpenSSL===24.2.1
|
|||||||
monasca-common===3.8.0
|
monasca-common===3.8.0
|
||||||
hyperframe===6.1.0
|
hyperframe===6.1.0
|
||||||
zeroconf===0.146.5
|
zeroconf===0.146.5
|
||||||
scipy===1.15.2
|
scipy===1.13.1;python_version=='3.9'
|
||||||
|
scipy===1.15.2;python_version>='3.10'
|
||||||
opentelemetry-exporter-otlp===1.32.1
|
opentelemetry-exporter-otlp===1.32.1
|
||||||
python-gnupg===0.5.4
|
python-gnupg===0.5.4
|
||||||
rsd-lib===1.2.0
|
rsd-lib===1.2.0
|
||||||
@@ -146,6 +150,7 @@ vine===5.1.0
|
|||||||
taskflow===5.12.0
|
taskflow===5.12.0
|
||||||
arrow===1.3.0
|
arrow===1.3.0
|
||||||
semantic-version===2.10.0
|
semantic-version===2.10.0
|
||||||
|
async-timeout===5.0.1;python_version=='3.9'
|
||||||
async-timeout===5.0.1;python_version=='3.10'
|
async-timeout===5.0.1;python_version=='3.10'
|
||||||
virtualbmc===3.2.0
|
virtualbmc===3.2.0
|
||||||
SQLAlchemy===2.0.40
|
SQLAlchemy===2.0.40
|
||||||
@@ -204,6 +209,7 @@ sphinxcontrib-jsmath===1.0.1
|
|||||||
python-novaclient===18.9.0
|
python-novaclient===18.9.0
|
||||||
pact===1.12.0
|
pact===1.12.0
|
||||||
bcrypt===4.0.1
|
bcrypt===4.0.1
|
||||||
|
exceptiongroup===1.2.2;python_version=='3.9'
|
||||||
exceptiongroup===1.2.2;python_version=='3.10'
|
exceptiongroup===1.2.2;python_version=='3.10'
|
||||||
os-client-config===2.1.0
|
os-client-config===2.1.0
|
||||||
XStatic-Angular-Gettext===2.4.1.0
|
XStatic-Angular-Gettext===2.4.1.0
|
||||||
@@ -237,7 +243,8 @@ XStatic-JQuery-Migrate===3.3.2.1
|
|||||||
pytest-html===4.1.1
|
pytest-html===4.1.1
|
||||||
appdirs===1.4.4
|
appdirs===1.4.4
|
||||||
google-auth-httplib2===0.2.0
|
google-auth-httplib2===0.2.0
|
||||||
daiquiri===3.3.0
|
daiquiri===3.2.5.1;python_version=='3.9'
|
||||||
|
daiquiri===3.3.0;python_version>='3.10'
|
||||||
influxdb===5.3.2
|
influxdb===5.3.2
|
||||||
funcparserlib===2.0.0a0
|
funcparserlib===2.0.0a0
|
||||||
passlib===1.7.4
|
passlib===1.7.4
|
||||||
@@ -386,9 +393,11 @@ python-consul===1.1.0
|
|||||||
more-itertools===10.7.0
|
more-itertools===10.7.0
|
||||||
seqdiag===3.0.0
|
seqdiag===3.0.0
|
||||||
zc.lockfile===3.0.post1
|
zc.lockfile===3.0.post1
|
||||||
numpy===2.2.5
|
numpy===2.0.0;python_version=='3.9'
|
||||||
|
numpy===2.2.5;python_version>='3.10'
|
||||||
msgpack===1.1.0
|
msgpack===1.1.0
|
||||||
Sphinx===8.1.3
|
Sphinx===7.4.7;python_version=='3.9'
|
||||||
|
Sphinx===8.1.3;python_version>='3.10'
|
||||||
oslo.config===9.7.1
|
oslo.config===9.7.1
|
||||||
openstackdocstheme===3.5.0
|
openstackdocstheme===3.5.0
|
||||||
osc-placement===4.6.0
|
osc-placement===4.6.0
|
||||||
@@ -418,6 +427,7 @@ api-object-schema===2.0.0
|
|||||||
blinker===1.9.0
|
blinker===1.9.0
|
||||||
aenum===3.1.15
|
aenum===3.1.15
|
||||||
WSME===0.12.1
|
WSME===0.12.1
|
||||||
|
tomli===2.2.1;python_version=='3.9'
|
||||||
tomli===2.2.1;python_version=='3.10'
|
tomli===2.2.1;python_version=='3.10'
|
||||||
oslo.upgradecheck===2.5.0
|
oslo.upgradecheck===2.5.0
|
||||||
sherlock===0.4.1
|
sherlock===0.4.1
|
||||||
@@ -561,7 +571,8 @@ sqlalchemy-filters===0.13.0
|
|||||||
sphinxcontrib-runcmd===0.2.0
|
sphinxcontrib-runcmd===0.2.0
|
||||||
confspirator===0.3.0
|
confspirator===0.3.0
|
||||||
fasteners===0.19
|
fasteners===0.19
|
||||||
importlib_metadata===8.6.1
|
importlib-metadata===6.2.1;python_version=='3.9'
|
||||||
|
importlib-metadata===8.6.1;python_version>='3.10'
|
||||||
sortedcontainers===2.4.0
|
sortedcontainers===2.4.0
|
||||||
python-linstor===1.25.3
|
python-linstor===1.25.3
|
||||||
filelock===3.18.0
|
filelock===3.18.0
|
||||||
|
Reference in New Issue
Block a user