Support Python 3.10

Add a CI job to run tests on Python 3.10, which is supported
in 2023.2 [0].

As rbd-iscsi-client is on an independent release model, it
still supports Python 3.8, so adjust .zuul.yaml and tox.ini
to use the 2023.1 upper constraints when running py38 tests.

[0] https://governance.openstack.org/tc/reference/runtimes/2023.2.html

Change-Id: I7fa0189dac8d980aa4fd5a7c8bac2f6f84ceb6d5
This commit is contained in:
Brian Rosmaita 2023-04-17 23:02:59 -04:00
parent 3f7eff31e1
commit f56f42dcd8
3 changed files with 25 additions and 5 deletions

View File

@ -12,8 +12,9 @@
jobs:
- openstack-tox-pep8
- rbd-iscsi-client-py36
- openstack-tox-py38
- rbd-iscsi-client-py38
- openstack-tox-py39
- openstack-tox-py310
- rbd-iscsi-client-code-coverage:
voting: false
@ -21,8 +22,9 @@
jobs:
- openstack-tox-pep8
- rbd-iscsi-client-py36
- openstack-tox-py38
- rbd-iscsi-client-py38
- openstack-tox-py39
- openstack-tox-py310
- job:
name: rbd-iscsi-client-code-coverage
@ -47,3 +49,13 @@
required-projects:
- name: openstack/requirements
override-checkout: stable/yoga
- job:
name: rbd-iscsi-client-py38
parent: openstack-tox-py38
# NOTE: zuul ignores TOX_CONSTRAINTS_FILE and uses upper constraints
# directly from the requirements repo, so we need to tell it to use
# the u-c from a branch that still supports py38
required-projects:
- name: openstack/requirements
override-checkout: stable/2023.1

View File

@ -23,6 +23,7 @@ classifiers =
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[global]
setup-hooks =

13
tox.ini
View File

@ -38,14 +38,21 @@ passenv =
no_proxy
NO_PROXY
[testenv:py36]
# We have to override the tox default py36 testenv because we need to use
# upper constraints from the last openstack release that supports python 3.6
[testenv:py{36,37}]
# The last openstack release to support python 3.6 and 3.7 is yoga, so we
# need to use the yoga upper constraints
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:py38]
# The last openstack release to support python 3.8 is 2023.1 (Antelope)
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2023.1}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:pep8]
commands = flake8 {posargs}