Prepare the job template for 2024.1 testing runtime

2024.1 cycle is going to start and we are defining
testing runtime (depends-on). This commit modifies
python job templatefor the same.

Note: this makes py3.9 and py3.10 job to run on master
periodicly (not on every change) with assumption that
running py3.8 and py3.11 jobs should be enough coverage
to run on every change and able to catch anything break
on py3.9 and py3.10 too.

Depends-On: https://review.opendev.org/c/openstack/governance/+/891225
Change-Id: Ie2b56bac8465ab6847168a09ac60c9d96d7c23e7
This commit is contained in:
Ghanshyam Mann 2023-08-16 12:50:35 -07:00 committed by Ghanshyam
parent c24a15e8db
commit bd597347e8

View File

@ -635,22 +635,17 @@
description: | description: |
Runs unit tests for an OpenStack Charm project under the CPython Runs unit tests for an OpenStack Charm project under the CPython
version 3 releases designated for testing the latest release. version 3 releases designated for testing the latest release.
This is supposed to be used in master gate which is 2023.1 cycle. This is supposed to be used in master gate.
check: check:
jobs: jobs:
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-py38 - openstack-tox-py38
- openstack-tox-py310 - openstack-tox-py311
# py3.11 testing is added from 2023.2 release onwards
- openstack-tox-py311:
branches:
- master
voting: false
gate: gate:
jobs: jobs:
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-py38 - openstack-tox-py38
- openstack-tox-py310 - openstack-tox-py311
- project-template: - project-template:
name: openstack-python3-jobs name: openstack-python3-jobs
@ -671,27 +666,52 @@
jobs: jobs:
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-py38 - openstack-tox-py38
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
branches: branches:
- stable/2023.2 - stable/2023.2
- master # NOTE(gmann): py310 job is required to run for 2023.2 release and
- openstack-tox-py310 # after that we run it as periodic only(assuming py3.8 and py3.11
# py3.11 testing is added as non voting from 2023.2 release onwards # will be enough coverage to run on every change).
- openstack-tox-py310:
branches:
- stable/2023.2
# py3.11 testing is added as non voting in 2023.2 release.
- openstack-tox-py311: - openstack-tox-py311:
branches: branches:
- stable/2023.2 - stable/2023.2
- master
voting: false voting: false
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
branches:
- master
gate: gate:
jobs: jobs:
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-py38 - openstack-tox-py38
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
branches: branches:
- stable/2023.2 - stable/2023.2
# NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310:
branches:
- stable/2023.2
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
branches:
- master - master
periodic:
jobs:
# NOTE(gmann): We can remove the periodic py3.9 and py3.10 job once
# the master testing runtime does not include it to test.
- openstack-tox-py39
- openstack-tox-py310 - openstack-tox-py310
post: post:
jobs: jobs:
@ -722,24 +742,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
branches: branches:
- stable/2023.2 - stable/2023.2
- master # NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
# py3.11 testing is added as non voting from 2023.2 release onwards branches:
- stable/2023.2
# py3.11 testing is added as non voting in 2023.2 release.
- openstack-tox-py311: - openstack-tox-py311:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
branches: branches:
- stable/2023.2 - stable/2023.2
- master
voting: false voting: false
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/horizon
branches:
- master
gate: gate:
jobs: jobs:
- openstack-tox-pep8: - openstack-tox-pep8:
@ -748,13 +779,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
branches: branches:
- stable/2023.2 - stable/2023.2
# NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310:
required-projects:
- openstack/horizon
branches:
- stable/2023.2
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/horizon
branches:
- master - master
periodic:
jobs:
# NOTE(gmann): We can remove the periodic py3.9 and py3.10 job once
# the master testing runtime does not include it to test.
- openstack-tox-py39:
required-projects:
- openstack/horizon
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/horizon - openstack/horizon
@ -787,24 +840,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
branches: branches:
- stable/2023.2 - stable/2023.2
- master # NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
# py3.11 testing is added as non voting from 2023.2 release onwards branches:
- stable/2023.2
# py3.11 testing is added as non voting in 2023.2 release.
- openstack-tox-py311: - openstack-tox-py311:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
branches: branches:
- stable/2023.2 - stable/2023.2
- master
voting: false voting: false
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/neutron
branches:
- master
gate: gate:
jobs: jobs:
- openstack-tox-pep8: - openstack-tox-pep8:
@ -813,13 +877,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
branches: branches:
- stable/2023.2 - stable/2023.2
# NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310:
required-projects:
- openstack/neutron
branches:
- stable/2023.2
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/neutron
branches:
- master - master
periodic:
jobs:
# NOTE(gmann): We can remove the periodic py3.9 and py3.10 job once
# the master testing runtime does not include it to test.
- openstack-tox-py39:
required-projects:
- openstack/neutron
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/neutron - openstack/neutron
@ -852,24 +938,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
branches: branches:
- stable/2023.2 - stable/2023.2
- master # NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
# py3.11 testing is added as non voting from 2023.2 release onwards branches:
- stable/2023.2
# py3.11 testing is added as non voting in 2023.2 release.
- openstack-tox-py311: - openstack-tox-py311:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
branches: branches:
- stable/2023.2 - stable/2023.2
- master
voting: false voting: false
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/ceilometer
branches:
- master
gate: gate:
jobs: jobs:
- openstack-tox-pep8: - openstack-tox-pep8:
@ -878,13 +975,35 @@
- openstack-tox-py38: - openstack-tox-py38:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py39: - openstack-tox-py39:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
branches: branches:
- stable/2023.2 - stable/2023.2
# NOTE(gmann): py310 job is required to run for 2023.2 release and
# after that we run it as periodic only(assuming py3.8 and py3.11
# will be enough coverage to run on every change).
- openstack-tox-py310:
required-projects:
- openstack/ceilometer
branches:
- stable/2023.2
# py3.11 testing is added as mandatory from 2024.1 release onwards.
- openstack-tox-py311:
required-projects:
- openstack/ceilometer
branches:
- master - master
periodic:
jobs:
# NOTE(gmann): We can remove the periodic py3.9 and py3.10 job once
# the master testing runtime does not include it to test.
- openstack-tox-py39:
required-projects:
- openstack/ceilometer
- openstack-tox-py310: - openstack-tox-py310:
required-projects: required-projects:
- openstack/ceilometer - openstack/ceilometer
@ -949,12 +1068,13 @@
jobs: jobs:
- openstack-tox-py38-arm64: - openstack-tox-py38-arm64:
voting: false voting: false
# py39 job is required to run from 2023.2 release onwards # NOTE(gmann): py39 job is required to run for 2023.2 release and
# after that we skip to run it, assuming py3.8 and py3.10 will be
# enough coverage to run on every change.
- openstack-tox-py39-arm64: - openstack-tox-py39-arm64:
voting: false voting: false
branches: branches:
- stable/2023.2 - stable/2023.2
- master
- openstack-tox-py310-arm64: - openstack-tox-py310-arm64:
voting: false voting: false
# py3.11 testing is added from 2023.2 release onwards # py3.11 testing is added from 2023.2 release onwards