Make python version testing template unversioned

In Zed cycle PTG, TC agreed[1] to make python version
testing template to be unversioned. This way we can avoid
bot patches to each repo zuul yaml file to update the
template name which was missed on many repo which end up
using the old version template for many cycle. With this
unversioned template we can handle it at central place in
openstack-zuul-jobs repo.

For stable branch, we will use the branch variant to keep
same name template to continue testing the python version
applicable for that branch.

[1] https://etherpad.opendev.org/p/tc-zed-ptg#L355

Depends-On: https://review.opendev.org/c/openstack/governance/+/854375
Change-Id: If402f9ae0ca06fec058fbc79911dd862977034ee
This commit is contained in:
ghanshyam mann 2022-09-14 14:36:17 +05:30
parent b61f7acddb
commit d5303b537e
1 changed files with 217 additions and 23 deletions

View File

@ -619,24 +619,213 @@
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-charm-jobs
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
Runs unit tests for an OpenStack Charm project under the CPython
version 3 releases designated for testing the latest release.
This is supposed to be used in master gate which is 2023.1 cycle.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py39
- openstack-tox-py310
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py39
- openstack-tox-py310
- project-template:
name: openstack-python3-jobs
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing the latest release. This
is supposed to be used in master gate which is 2023.1 cycle.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py39
- openstack-tox-py310
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py39
- openstack-tox-py310
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-jobs-horizon
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs-horizon' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
The standard :zuul:project_template:`openstack-python3-jobs`
but with horizon added as a required-projects. This checks out
the project code and allows tox_install_siblings to use horizon
when building the venv. This is supposed to be used in master gate
which is 2023.1 cycle.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py39:
required-projects:
- openstack/horizon
- openstack-tox-py310:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py39:
required-projects:
- openstack/horizon
- openstack-tox-py310:
required-projects:
- openstack/horizon
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-jobs-neutron
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs-neutron' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
The standard :zuul:project_template:`openstack-python3-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv. This is supposed to be used in master gate
which is 2023.1 cycle.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py39:
required-projects:
- openstack/neutron
- openstack-tox-py310:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py39:
required-projects:
- openstack/neutron
- openstack-tox-py310:
required-projects:
- openstack/neutron
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-jobs-ceilometer
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs-ceilometer' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
The standard :zuul:project_template:`openstack-python3-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv. This is supposed to be used in master gate
which is 2023.1 cycle.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py39:
required-projects:
- openstack/ceilometer
- openstack-tox-py310:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py39:
required-projects:
- openstack/ceilometer
- openstack-tox-py310:
required-projects:
- openstack/ceilometer
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-zed-jobs
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing in the Zed release.
check: &openstack-python3-latest-check-jobs
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py38
- openstack-tox-py39
- openstack-tox-py310:
voting: false
gate: &openstack-python3-latest-gate-jobs
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py38
- openstack-tox-py39
post: &openstack-python3-latest-post-jobs
post:
jobs:
- publish-openstack-python-branch-tarball
@ -655,6 +844,31 @@
- openstack-tox-py310-arm64:
voting: false
- project-template:
name: openstack-python3-jobs-arm64
# NOTE(gmann): We are using this generic template for python version
# testing. When a new development cycle starts, we need to do two things:
# 1. Update this template to update the python version jobs as per that
# new development cycle tetsing runtime defined by TC
# https://governance.openstack.org/tc/reference/runtimes/
# 2. Prepare the template with same name for the new stable branch. To
# avoid updating the new stable branch zuul.yaml file for all the repo
# stable branch, we need to use the same template name
# 'openstack-python3-jobs-arm64' and use the branch variant to make
# it run for the new stable branch gate only.
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing in the 2023.1 Antelope
release on top of ARM64 architecture. This currently runs only a
limited test set and supplements the python3-jobs.
And it should not be run instead of the default!
check-arm64:
jobs:
- openstack-tox-py39-arm64:
voting: false
- openstack-tox-py310-arm64:
voting: false
- project-template:
name: openstack-python3-zed-jobs-arm64
description: |
@ -1593,26 +1807,6 @@
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-python3-jobs
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing the latest release.
This will be updated at the start of each new release. It should
only be used for projects using the *independent* release cycle.
check: *openstack-python3-latest-check-jobs
gate: *openstack-python3-latest-gate-jobs
post: *openstack-python3-latest-post-jobs
- project-template:
name: openstack-python3-charm-jobs
description: |
Runs unit tests for an OpenStack Charm project under the CPython
version 3 releases designated for testing the latest release.
This will be updated at the start of each new release.
check: *openstack-python3-latest-check-jobs
gate: *openstack-python3-latest-gate-jobs
- project-template:
name: openstack-python35-jobs
description: |