Merge "Add Python 3.10 functional jobs"

This commit is contained in:
Zuul
2022-05-13 15:15:46 +00:00
committed by Gerrit Code Review
2 changed files with 61 additions and 69 deletions
+24
View File
@@ -50,6 +50,28 @@
bindep_profile: test py39 bindep_profile: test py39
timeout: 3600 timeout: 3600
- job:
name: nova-tox-functional-py310
parent: openstack-tox-functional-py310
description: |
Run tox-based functional tests for the OpenStack Nova project
under cPython version 3.10 with Nova specific irrelevant-files list.
Uses tox with the ``functional-py310`` environment.
This job also provides a parent for other projects to run the nova
functional tests on their own changes.
required-projects:
# including nova here makes this job reusable by other projects
- openstack/nova
- openstack/placement
irrelevant-files: *functional-irrelevant-files
vars:
# explicitly stating the work dir makes this job reusable by other
# projects
zuul_work_dir: src/opendev.org/openstack/nova
bindep_profile: test py310
timeout: 3600
- job: - job:
name: nova-tox-validate-backport name: nova-tox-validate-backport
parent: openstack-tox parent: openstack-tox
@@ -645,6 +667,8 @@
voting: false voting: false
- nova-tox-functional-py38 - nova-tox-functional-py38
- nova-tox-functional-py39 - nova-tox-functional-py39
- nova-tox-functional-py310:
voting: false
- tempest-integrated-compute: - tempest-integrated-compute:
# NOTE(gmann): Policies changes do not need to run all the # NOTE(gmann): Policies changes do not need to run all the
# integration test jobs. Running only tempest and grenade # integration test jobs. Running only tempest and grenade
+37 -69
View File
@@ -43,6 +43,42 @@ commands =
env TEST_OSPROFILER=1 stestr run --combine --no-discover 'nova.tests.unit.test_profiler' env TEST_OSPROFILER=1 stestr run --combine --no-discover 'nova.tests.unit.test_profiler'
stestr slowest stestr slowest
[testenv:functional{,-py38,-py39,-py310}]
description =
Run functional tests.
# As nova functional tests import the PlacementFixture from the placement
# repository these tests are, by default, set up to run with openstack-placement
# from pypi. In the gate, Zuul will use the installed version of placement (stable
# branch version on stable gate run) OR the version of placement the Depends-On in
# the commit message suggests. If you want to run the tests with latest master from
# the placement repo, modify the dep line to point at master, example:
# deps =
# {[testenv]deps}
# git+https://opendev.org/openstack/placement#egg=openstack-placement
# If you want to run the test locally with an un-merged placement change,
# modify the dep line to point to your dependency or pip install placement
# into the appropriate tox virtualenv.
# NOTE: We express the requirement here instead of test-requirements
# because we do not want placement present during unit tests.
deps =
{[testenv]deps}
openstack-placement>=1.0.0
extras =
commands =
stestr --test-path=./nova/tests/functional run {posargs}
stestr slowest
[testenv:functional-without-sample-db-tests]
description =
Run functional tests by excluding the API|Notification
sample tests and DB tests. This env is used in
placement-nova-tox-functional-py38 job which is defined and
run in placement.
deps = {[testenv:functional]deps}
extras =
commands =
stestr --test-path=./nova/tests/functional run --exclude-regex '((?:api|notification)_sample_tests|functional\.db\.)' {posargs}
[testenv:mypy] [testenv:mypy]
description = description =
Run type checks. Run type checks.
@@ -97,74 +133,6 @@ skipsdist = true
commands = commands =
bash tools/check-cherry-picks.sh bash tools/check-cherry-picks.sh
[testenv:functional]
description =
Run functional tests using python3.
# As nova functional tests import the PlacementFixture from the placement
# repository these tests are, by default, set up to run with openstack-placement
# from pypi. In the gate, Zuul will use the installed version of placement (stable
# branch version on stable gate run) OR the version of placement the Depends-On in
# the commit message suggests. If you want to run the tests with latest master from
# the placement repo, modify the dep line to point at master, example:
# deps =
# {[testenv]deps}
# git+https://opendev.org/openstack/placement#egg=openstack-placement
# If you want to run the test locally with an un-merged placement change,
# modify the dep line to point to your dependency or pip install placement
# into the appropriate tox virtualenv.
# NOTE: We express the requirement here instead of test-requirements
# because we do not want placement present during unit tests.
deps =
{[testenv]deps}
openstack-placement>=1.0.0
extras =
commands =
stestr --test-path=./nova/tests/functional run {posargs}
stestr slowest
[testenv:functional-py36]
description =
Run functional tests using python3.6.
deps = {[testenv:functional]deps}
extras =
commands =
{[testenv:functional]commands}
[testenv:functional-py37]
description =
Run functional tests using python3.7.
deps = {[testenv:functional]deps}
extras =
commands =
{[testenv:functional]commands}
[testenv:functional-py38]
description =
Run functional tests using python3.8.
deps = {[testenv:functional]deps}
extras =
commands =
{[testenv:functional]commands}
[testenv:functional-without-sample-db-tests]
description =
Run functional tests by excluding the API|Notification
sample tests and DB tests. This env is used in
placement-nova-tox-functional-py38 job which is defined and
run in placement.
deps = {[testenv:functional]deps}
extras =
commands =
stestr --test-path=./nova/tests/functional run --exclude-regex '((?:api|notification)_sample_tests|functional\.db\.)' {posargs}
[testenv:functional-py39]
description =
Run functional tests using python3.9.
deps = {[testenv:functional]deps}
extras =
commands =
{[testenv:functional]commands}
[testenv:api-samples] [testenv:api-samples]
envdir = {toxworkdir}/functional envdir = {toxworkdir}/functional
setenv = setenv =
@@ -323,7 +291,7 @@ exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,releasenotes
# to 25 and run 'tox -epep8'. # to 25 and run 'tox -epep8'.
# 39 is currently the most complex thing we have # 39 is currently the most complex thing we have
# TODO(jogo): get this number down to 25 or so # TODO(jogo): get this number down to 25 or so
max-complexity=40 max-complexity = 40
[hacking] [hacking]
import_exceptions = typing,nova.i18n import_exceptions = typing,nova.i18n