CI: Drag forward more constraints

Previously, we'd install the lowest (mostly common) denominator of deps
for our func-py3 jobs. This left us not testing up-to-date deps for
many python versions, though, and could even prevent us from testing on
new python versions entirely. For example, py312 cannot install
greenlet 2.0.2, the last version to support py36; this caused gate
failures when OpenStack as a whole tried to run Swift's func tests on
Ubuntu 24.04.

Change-Id: I0e55d8b4c5ed520c0aad8cc952a9fa1683905356
This commit is contained in:
Tim Burke 2024-10-29 21:01:25 +00:00
parent c3f1ed3df1
commit a8ad97f838
3 changed files with 219 additions and 86 deletions

218
py3-constraints.txt Normal file
View File

@ -0,0 +1,218 @@
GitPython===3.1.43;python_version>='3.7'
GitPython===3.1.18;python_version=='3.6'
PasteDeploy===3.1.0;python_version>='3.7'
PasteDeploy===2.1.1;python_version=='3.6'
PyJWT===2.9.0;python_version>='3.8'
PyYAML===6.0.2;python_version>='3.8'
PyYAML===6.0.1;python_version=='3.7'
PyYAML===6.0.1;python_version=='3.6'
Pygments===2.18.0;python_version>='3.8'
Pygments===2.17.2;python_version=='3.7'
WebOb===1.8.9
attrs===24.2.0;python_version>='3.7'
attrs===22.2.0;python_version=='3.6'
autopage===0.5.2
bandit===1.7.10;python_version>='3.8'
bandit===1.7.5;python_version=='3.7'
bandit===1.7.1;python_version=='3.6'
boto3===1.35.51;python_version>='3.8'
boto3===1.33.13;python_version=='3.7'
boto3===1.23.10;python_version=='3.6'
botocore===1.35.51;python_version>='3.8'
botocore===1.33.13;python_version=='3.7'
botocore===1.26.10;python_version=='3.6'
certifi===2024.8.30
cffi===1.17.1;python_version>='3.8'
cffi===1.15.1;python_version=='3.7'
cffi===1.15.1;python_version=='3.6'
charset-normalizer===3.4.0;python_version>='3.7'
charset-normalizer===2.0.12;python_version=='3.6'
cliff===4.7.0;python_version>='3.8'
cliff===3.10.1;python_version=='3.7'
cliff===3.10.1;python_version=='3.6'
cmd2===2.5.0;python_version>='3.8'
cmd2===2.4.3;python_version=='3.7'
cmd2===2.4.3;python_version=='3.6'
coverage===7.6.4;python_version>='3.9'
coverage===7.6.1;python_version=='3.8'
coverage===7.2.7;python_version=='3.7'
coverage===6.2;python_version=='3.6'
cryptography===43.0.3;python_version>='3.7'
cryptography===40.0.2;python_version=='3.6'
debtcollector===3.0.0;python_version>='3.8'
debtcollector===2.5.0;python_version=='3.7'
debtcollector===2.5.0;python_version=='3.6'
decorator===5.1.1
dnspython===2.7.0;python_version>='3.9'
dnspython===2.6.1;python_version=='3.8'
dnspython===2.3.0;python_version=='3.7'
dnspython===2.2.1;python_version=='3.6'
docutils===0.21.2;python_version>='3.9'
docutils===0.20.1;python_version=='3.8'
docutils===0.20.1;python_version=='3.7'
docutils===0.18.1;python_version=='3.6'
dogpile.cache===1.3.3;python_version>='3.8'
dogpile.cache===1.2.2;python_version=='3.7'
dogpile.cache===1.2.2;python_version=='3.6'
eventlet===0.37.0;python_version>='3.7'
eventlet===0.33.3;python_version=='3.6'
exceptiongroup===1.2.2;python_version>='3.7'
extras===1.0.0
fixtures===4.1.0;python_version>='3.7'
fixtures===4.0.1;python_version=='3.6'
flake8===6.1.0;python_version>='3.8'
flake8===3.8.4;python_version=='3.7'
flake8===3.8.4;python_version=='3.6'
gitdb===4.0.11;python_version>='3.7'
gitdb===4.0.9;python_version=='3.6'
greenlet===3.1.1;python_version>='3.7'
greenlet===2.0.2;python_version=='3.6'
hacking===6.1.0;python_version>='3.8'
hacking===4.1.0;python_version=='3.7'
hacking===4.1.0;python_version=='3.6'
idna===3.10
importlib-metadata===8.5.0;python_version>='3.8'
importlib-metadata===6.7.0;python_version=='3.7'
importlib-metadata===4.8.3;python_version=='3.6'
importlib-resources===5.4.0
iniconfig===2.0.0;python_version>='3.7'
iniconfig===1.1.1;python_version=='3.6'
iso8601===2.1.0;python_version>='3.7'
iso8601===1.1.0;python_version=='3.6'
jmespath===1.0.1;python_version>='3.7'
jmespath===0.10.0;python_version=='3.6'
keystoneauth1===5.8.0;python_version>='3.8'
keystoneauth1===5.1.3;python_version=='3.7'
keystoneauth1===5.1.3;python_version=='3.6'
keystonemiddleware===10.7.1;python_version>='3.8'
keystonemiddleware===9.5.0;python_version=='3.7'
keystonemiddleware===9.5.0;python_version=='3.6'
lxml===5.3.0
markdown-it-py===3.0.0;python_version>='3.8'
markdown-it-py===2.2.0;python_version=='3.7'
mccabe===0.7.0;python_version>='3.8'
mccabe===0.6.1;python_version=='3.7'
mccabe===0.6.1;python_version=='3.6'
mdurl===0.1.2;python_version>='3.7'
mock===5.1.0
msgpack===1.1.0;python_version>='3.8'
msgpack===1.0.5;python_version=='3.7'
msgpack===1.0.5;python_version=='3.6'
netaddr===1.3.0;python_version>='3.7'
netaddr===0.10.1;python_version=='3.6'
netifaces===0.11.0
os-service-types===1.7.0
oslo.cache===3.8.0;python_version>='3.8'
oslo.cache===2.11.0;python_version=='3.7'
oslo.cache===2.11.0;python_version=='3.6'
oslo.config===9.6.0;python_version>='3.8'
oslo.config===8.8.1;python_version=='3.7'
oslo.config===8.8.1;python_version=='3.6'
oslo.context===5.6.0;python_version>='3.8'
oslo.context===4.1.0;python_version=='3.7'
oslo.context===4.1.0;python_version=='3.6'
oslo.i18n===6.4.0;python_version>='3.8'
oslo.i18n===5.1.0;python_version=='3.7'
oslo.i18n===5.1.0;python_version=='3.6'
oslo.log===6.1.2;python_version>='3.8'
oslo.log===4.8.0;python_version=='3.7'
oslo.log===4.8.0;python_version=='3.6'
oslo.serialization===5.5.0;python_version>='3.8'
oslo.serialization===4.3.0;python_version=='3.7'
oslo.serialization===4.3.0;python_version=='3.6'
oslo.utils===7.3.0;python_version>='3.8'
oslo.utils===4.13.0;python_version=='3.7'
oslo.utils===4.13.0;python_version=='3.6'
packaging===24.1;python_version>='3.8'
packaging===24.0;python_version=='3.7'
packaging===21.3;python_version=='3.6'
pbr===6.1.0
pluggy===1.5.0;python_version>='3.8'
pluggy===1.2.0;python_version=='3.7'
pluggy===1.0.0;python_version=='3.6'
prettytable===3.11.0;python_version>='3.8'
prettytable===3.7.0;python_version=='3.7'
prettytable===2.5.0;python_version=='3.6'
py===1.11.0
pycadf===3.1.1
pycodestyle===2.11.1;python_version>='3.8'
pycodestyle===2.6.0;python_version=='3.7'
pycodestyle===2.6.0;python_version=='3.6'
pycparser===2.22;python_version>='3.8'
pycparser===2.21;python_version=='3.7'
pycparser===2.21;python_version=='3.6'
pyeclib===1.6.4
pyflakes===3.1.0;python_version>='3.8'
pyflakes===2.2.0;python_version=='3.7'
pyflakes===2.2.0;python_version=='3.6'
pyinotify===0.9.6
pyparsing===3.2.0;python_version>='3.9'
pyparsing===3.1.4;python_version=='3.8'
pyparsing===3.1.4;python_version=='3.7'
pyparsing===3.1.4;python_version=='3.6'
pyperclip===1.9.0
pytest===8.3.3;python_version>='3.8'
pytest===7.4.4;python_version=='3.7'
pytest===7.0.1;python_version=='3.6'
pytest-cov===6.0.0;python_version>='3.9'
pytest-cov===5.0.0;python_version=='3.8'
pytest-cov===4.1.0;python_version=='3.7'
pytest-cov===4.0.0;python_version=='3.6'
python-dateutil===2.9.0.post0
python-keystoneclient===5.5.0;python_version>='3.8'
python-keystoneclient===4.5.0;python_version=='3.7'
python-keystoneclient===4.5.0;python_version=='3.6'
python-subunit===1.4.4;python_version>='3.7'
python-subunit===1.4.2;python_version=='3.6'
python-swiftclient===4.6.0
pytz===2024.2
requests===2.32.3;python_version>='3.8'
requests===2.31.0;python_version=='3.7'
requests===2.27.1;python_version=='3.6'
requests-mock===1.12.1
rfc3986===2.0.0;python_version>='3.7'
rfc3986===1.5.0;python_version=='3.6'
rich===13.9.3;python_version>='3.8'
rich===13.8.1;python_version=='3.7'
s3transfer===0.10.3;python_version>='3.8'
s3transfer===0.8.2;python_version=='3.7'
s3transfer===0.5.2;python_version=='3.6'
setuptools===75.3.0;python_version>='3.12'
six===1.16.0
smmap===5.0.1;python_version>='3.7'
smmap===5.0.0;python_version=='3.6'
stestr===4.1.0
stevedore===5.3.0;python_version>='3.8'
stevedore===3.5.2;python_version=='3.7'
stevedore===3.5.2;python_version=='3.6'
swift===2.34.0
testtools===2.7.2;python_version>='3.8'
testtools===2.7.1;python_version=='3.7'
testtools===2.6.0;python_version=='3.6'
tomli===2.0.2;python_version>='3.8'
tomli===2.0.1;python_version=='3.7'
tomli===1.2.3;python_version=='3.6'
tomlkit===0.13.2;python_version>='3.8'
tomlkit===0.12.5;python_version=='3.7'
tomlkit===0.11.6;python_version=='3.6'
typing_extensions===4.12.2;python_version>='3.8'
typing_extensions===4.7.1;python_version=='3.7'
typing_extensions===4.1.1;python_version=='3.6'
tzdata===2024.2;python_version>='3.9'
urllib3===2.2.3;python_version>='3.10'
urllib3===1.26.20;python_version=='3.9'
urllib3===1.26.20;python_version=='3.8'
urllib3===1.26.20;python_version=='3.7'
urllib3===1.26.20;python_version=='3.6'
voluptuous===0.15.2;python_version>='3.9'
voluptuous===0.14.2;python_version=='3.8'
voluptuous===0.14.1;python_version=='3.7'
voluptuous===0.13.1;python_version=='3.6'
wcwidth===0.2.13
wrapt===1.16.0
xattr===1.1.0;python_version>='3.8'
xattr===0.10.1;python_version=='3.7'
xattr===0.10.1;python_version=='3.6'
zipp===3.20.2;python_version>='3.8'
zipp===3.15.0;python_version=='3.7'
zipp===3.6.0;python_version=='3.6'

View File

@ -1,85 +0,0 @@
# taken from last passing py36 gate job prior to requirements constraining
# oslo-log to a version that dropped py36 support, 2022-05-19
attrs==22.2.0
autopage==0.5.2
bandit==1.7.1
boto==2.49.0
boto3==1.23.10
botocore==1.26.10
certifi==2024.8.30
cffi==1.15.1
charset-normalizer==2.0.12
cliff==3.10.1
cmd2==2.4.1
coverage==6.2
cryptography==40.0.2
debtcollector==2.5.0
decorator==5.1.1
dnspython==2.2.1
docutils==0.18.1
dogpile.cache==1.2.2
eventlet==0.33.3
extras==1.0.0
fixtures==4.0.1
flake8==3.9.2
future==1.0.0
gitdb==4.0.9
GitPython==3.1.18
greenlet==2.0.2
hacking==3.0.0
idna==3.8
importlib-metadata==4.8.3
importlib-resources==5.4.0
iso8601==1.1.0 # >= py3.6.2
jmespath==0.10.0
keystoneauth1==4.6.0
keystonemiddleware==9.5.0
lxml==5.3.0
mccabe==0.6.1
mock==5.1.0
msgpack==1.0.5
netaddr==0.10.1
netifaces==0.11.0
os-service-types==1.7.0
oslo.cache==2.11.0
oslo.config==8.8.1
oslo.context==4.1.0
oslo.i18n==5.1.0
oslo.log==4.8.0
oslo.serialization==4.3.0
oslo.utils==4.13.0
packaging==21.3
PasteDeploy==2.1.1
pbr==6.1.0
prettytable==2.5.0
pycadf==3.1.1
pycodestyle==2.7.0
pycparser==2.21
pyeclib==1.6.1
pyflakes==2.3.1
pyinotify==0.9.6
pyparsing==3.1.4 # >= py3.6.8
pyperclip==1.9.0
python-dateutil==2.9.0.post0
python-keystoneclient==4.5.0
python-subunit==1.4.2
python-swiftclient==4.6.0
pytz==2022.1
PyYAML==6.0.1
requests==2.27.1
requests-mock==1.12.1
rfc3986==1.5.0
s3transfer==0.5.2
six==1.16.0
smmap==5.0.0
stestr==4.0.1
stevedore==3.5.2
testtools==2.6.0
typing_extensions==4.1.1
urllib3==1.26.20
voluptuous==0.13.1
wcwidth==0.2.13
WebOb==1.8.8
wrapt==1.16.0
xattr==0.10.1
zipp==3.6.0

View File

@ -44,7 +44,7 @@ deps =
[testenv:py36] [testenv:py36]
deps = deps =
-c{toxinidir}/py36-constraints.txt -c{toxinidir}/py3-constraints.txt
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt