# Shared project-templates specific to the OpenStack Project - project-template: name: system-required description: | Jobs that *every* project in OpenStack CI should have by default. This is automatically added to all projects in OpenStack CI, no repository should use this directly. # Include a check queue so that initially every repo has a check queue # and we can report invalid zuul.yaml files. check: jobs: [] merge-check: jobs: - noop - project-template: name: noop-jobs description: | This template runs no jobs, it is needed if a project does not use any single job so that changes can get merged. Do not use this with projects that have jobs defined in the gate pipeline. check: jobs: - noop gate: jobs: - noop - project-template: name: build-openstack-docs-pti description: | Runs normal `OpenStack PTI documentation build and publication jobs `_ following the project testing interface. check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs - project-template: name: publish-openstack-docs-pti description: | Runs normal `OpenStack PTI documentation build jobs `_ following the project testing interface and publishes the result using a promote job. Once you have docs published, add them to the index pages following the `documentation `_ . .. note:: Only repos listed in ``openstack/governance`` repository are allowed to publish to the `OpenStack docs website `_ . check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs promote: jobs: - promote-openstack-tox-docs - project-template: name: build-tox-docs description: | Runs tox docs jobs without publishing. check: jobs: - tox-docs gate: jobs: - tox-docs - project-template: name: publish-tox-docs-infra description: | Runs normal OpenStack PTI build jobs and publishes the result to the Infra docs location using a promote job. check: jobs: - opendev-tox-docs gate: jobs: - opendev-tox-docs promote: jobs: - promote-tox-docs-infra - project-template: name: puppet-release-jobs description: | Runs release jobs for a Puppet project, tests also that tarballs can be generated. check: jobs: - build-openstack-puppet-tarball gate: jobs: - build-openstack-puppet-tarball pre-release: jobs: - release-openstack-puppet - announce-release: dependencies: - release-openstack-puppet release: jobs: - release-openstack-puppet - announce-release: dependencies: - release-openstack-puppet post: jobs: - publish-openstack-puppet-branch-tarball - project-template: name: publish-to-pypi description: | Publish a Python package to PyPI, then send release announcement emails and propose updates to upper-constraints as needed. check: jobs: - test-release-openstack gate: jobs: - test-release-openstack pre-release: jobs: - release-openstack-python - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - release-openstack-python - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-to-pypi-stable-only description: | Publish a Python package to PyPI, then send release announcement emails and propose updates to upper-constraints as needed. This template is supposed to be used for deliverables having stable branch release only, means deprecated deliverables who still support stable release. check: jobs: - test-release-openstack: # NOTE(gmann): Do not run the release job on master branch. # This template is supposed to be used for stable only release. branches: regex: ^master$ negate: true gate: jobs: - test-release-openstack: branches: regex: ^master$ negate: true pre-release: jobs: - release-openstack-python: branches: regex: ^master$ negate: true - announce-release: branches: regex: ^master$ negate: true # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' dependencies: - release-openstack-python - propose-update-constraints: branches: regex: ^master$ negate: true # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' dependencies: - release-openstack-python release: jobs: - release-openstack-python: branches: regex: ^master$ negate: true - announce-release: branches: regex: ^master$ negate: true # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' dependencies: - release-openstack-python - propose-update-constraints: branches: regex: ^master$ negate: true # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' dependencies: - release-openstack-python - project-template: name: publish-xstatic-to-pypi description: | Publish an XStatic Python package to PyPI, then send release announcement emails and propose updates to upper-constraints as needed. pre-release: jobs: - xstatic-check-version - release-openstack-python: dependencies: - xstatic-check-version - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python release: jobs: - xstatic-check-version - release-openstack-python: dependencies: - xstatic-check-version - announce-release: dependencies: - release-openstack-python - propose-update-constraints: dependencies: - release-openstack-python - project-template: name: publish-to-pypi-quietly description: | Publish a Python package to PyPI but do not send announce emails or propose upper-constraints updates. pre-release: jobs: - release-openstack-python release: jobs: - release-openstack-python - project-template: name: release-notes-jobs description: | Runs the release notes test and publishes the result using a promote job. .. note:: Only repos listed in ``openstack/governance`` repository are allowed to publish to the `OpenStack docs website `_ . check: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 gate: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 promote: jobs: - promote-openstack-releasenotes - project-template: name: release-notes-jobs-python3 description: | Builds the release notes jobs under python 3 and publishes the result using a promote job. .. note:: Only repos listed in ``openstack/governance`` repository are allowed to publish to the `OpenStack docs website `_ . check: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 gate: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 promote: jobs: - promote-openstack-releasenotes tag: jobs: - publish-openstack-releasenotes-python3 - project-template: name: build-release-notes-jobs-python3 description: | Runs the release notes jobs under python 3. This only builds releasenotes but does not publish them. check: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 gate: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 - project-template: name: openstack-python-jobs description: | Runs OpenStack PTI jobs for python. This template is deprecated and should only be used for older stable branches (train and older). For newer releases, use the release specific template instead, for example :zuul:project_template:`openstack-python3-ussuri-jobs`. check: jobs: - openstack-tox-pep8 - openstack-tox-py27 gate: jobs: - openstack-tox-pep8 - openstack-tox-py27 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python-jobs-horizon description: | The standard :zuul:project_template:`openstack-python-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 template is deprecated and should only be used for older stable branches (train and older). For newer releases, use the release specific template instead, for example :zuul:project_template:`openstack-python3-ussuri-jobs-horizon`. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py27: required-projects: - openstack/horizon gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py27: required-projects: - openstack/horizon post: jobs: # This job does not use tox and thus does not need # any required-projects. - publish-openstack-python-branch-tarball - project-template: name: openstack-python-jobs-neutron description: | The standard :zuul:project_template:`openstack-python-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 template is deprecated and should only be used for older stable branches (train and older). For newer releases, use the release specific template instead, for example :zuul:project_template:`openstack-python3-ussuri-jobs-neutron`. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py27: required-projects: - openstack/neutron gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py27: required-projects: - openstack/neutron post: jobs: # This job does not use tox and thus does not need # any required-projects. - publish-openstack-python-branch-tarball - project-template: name: openstack-python-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python-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 template is deprecated and should only be used for older stable branches (train and older). For newer releases, use the release specific template instead, for example :zuul:project_template:`openstack-python3-ussuri-jobs-ceilometer`. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py27: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py27: required-projects: - openstack/ceilometer post: jobs: # This job does not use tox and thus does not need # any required-projects. - publish-openstack-python-branch-tarball - project-template: name: openstack-cover-jobs description: | Runs openstack-tox-cover in only the check pipeline. check: jobs: - openstack-tox-cover - project-template: name: openstack-cover-jobs-horizon description: | The standard openstack-cover-jobs but with horizon added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. check: jobs: - openstack-tox-cover: required-projects: - openstack/horizon - project-template: name: openstack-cover-jobs-neutron description: | The standard openstack-cover-jobs but with neutron added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. check: jobs: - openstack-tox-cover: required-projects: - openstack/neutron - project-template: name: openstack-python3-antelope-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the 2023.1 Antelope release. check: jobs: - openstack-tox-pep8 - openstack-tox-py38 - openstack-tox-py310 gate: jobs: - openstack-tox-pep8 - openstack-tox-py38 - openstack-tox-py310 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-antelope-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-antelope-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py310: required-projects: - openstack/horizon gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py310: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-antelope-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-antelope-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py310: required-projects: - openstack/neutron gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py310: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-antelope-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-antelope-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py310: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py310: required-projects: - openstack/ceilometer post: 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. # # NOTE(coreycb): This template is used in openstack charms since # stable/2023.1. While the stable/2023.1 and stable/2023.2 charm branches # should support py311 unit tests, they do not. They need to continue # supporting py310. description: | Runs unit tests for an OpenStack Charm project under the CPython version 3 releases designated for testing the latest release. check: jobs: - openstack-tox-pep8 - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 - openstack-tox-py39: branches: - master - openstack-tox-py310: branches: - stable/2023.1 - stable/2023.2 - openstack-tox-py311: branches: - stable/2024.1 - master # py3.12 testing is added as non voting from 2024.2 release onwards. - openstack-tox-py312: branches: - master voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 - openstack-tox-py39: branches: - master - openstack-tox-py310: branches: - stable/2023.1 - stable/2023.2 - openstack-tox-py311: branches: - stable/2024.1 - master - 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing the latest release. check: jobs: - openstack-tox-pep8 - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 # NOTE(gmann): py39 job is required to run for 2023.2 release and # also minimum python version to test from 2024.2 onwards - openstack-tox-py39: branches: - 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: branches: - stable/2023.2 # py3.11 testing is added as non voting in 2023.2 release. - openstack-tox-py311: branches: - stable/2023.2 voting: false # py3.11 testing is added as mandatory from 2024.1 release onwards. - openstack-tox-py311: branches: - stable/2024.1 - master # py3.12 testing is added as non voting from 2024.2 release onwards. - openstack-tox-py312: branches: - master voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: branches: - 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: branches: - stable/2023.2 # py3.11 testing is added as mandatory from 2024.1 release onwards. - openstack-tox-py311: branches: - stable/2024.1 - master periodic: jobs: # NOTE(gmann): We can remove the periodic py3.10 job once # the master testing runtime does not include it to test. - openstack-tox-py310: branches: - master 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. 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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/horizon # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/horizon branches: - 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: required-projects: - openstack/horizon branches: - stable/2023.2 # py3.11 testing is added as non voting in 2023.2 release. - openstack-tox-py311: required-projects: - openstack/horizon branches: - stable/2023.2 voting: false # py3.11 testing is added as mandatory from 2024.1 release onwards. - openstack-tox-py311: required-projects: - openstack/horizon branches: - stable/2024.1 - master # py3.12 testing is added as non voting from 2024.2 release onwards. - openstack-tox-py312: branches: - master voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/horizon # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/horizon branches: - 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: 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: - stable/2024.1 - master periodic: jobs: # NOTE(gmann): We can remove the periodic py3.10 job once # the master testing runtime does not include it to test. - openstack-tox-py310: branches: - master 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. 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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/neutron # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/neutron branches: - 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: required-projects: - openstack/neutron branches: - stable/2023.2 # py3.11 testing is added as non voting in 2023.2 release. - openstack-tox-py311: required-projects: - openstack/neutron branches: - stable/2023.2 voting: false # py3.11 testing is added as mandatory from 2024.1 release onwards. - openstack-tox-py311: required-projects: - openstack/neutron branches: - stable/2024.1 - master # py3.12 testing is added as non voting from 2024.2 release onwards. - openstack-tox-py312: branches: - master voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/neutron # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/neutron branches: - 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: 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: - stable/2024.1 - master periodic: jobs: # NOTE(gmann): We can remove the periodic py3.10 job once # the master testing runtime does not include it to test. - openstack-tox-py310: branches: - master 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. 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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/ceilometer # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/ceilometer branches: - 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: required-projects: - openstack/ceilometer branches: - stable/2023.2 # py3.11 testing is added as non voting in 2023.2 release. - openstack-tox-py311: required-projects: - openstack/ceilometer branches: - stable/2023.2 voting: false # py3.11 testing is added as mandatory from 2024.1 release onwards. - openstack-tox-py311: required-projects: - openstack/ceilometer branches: - stable/2024.1 - master # py3.12 testing is added as non voting from 2024.2 release onwards. - openstack-tox-py312: branches: - master voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/ceilometer # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.2 onwards. - openstack-tox-py39: required-projects: - openstack/ceilometer branches: - 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: 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: - stable/2024.1 - master periodic: jobs: # NOTE(gmann): We can remove the periodic py3.10 job once # the master testing runtime does not include it to test. - openstack-tox-py310: branches: - master 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: jobs: - openstack-tox-pep8 - openstack-tox-py38 - openstack-tox-py39 - openstack-tox-py310: voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py38 - openstack-tox-py39 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-antelope-jobs-arm64 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-antelope-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - 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 for the python version jobs as per the # new development cycle tetsing runtime defined by TC # https://governance.openstack.org/tc/reference/runtimes/ # Use the 'branches' variant to run the applicable python version # jobs. # 2. Make sure the previous cycle applicable jobs continue to run for # the new stable branch. Use the 'branches' variant to run the # applicable python version jobs. description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases 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-py38-arm64: branches: - stable/2023.1 - stable/2023.2 - stable/2024.1 voting: false # NOTE(gmann): py39 job is required to run for 2023.2 release and # minimum python version to test from 2024.1 onwards. - openstack-tox-py39-arm64: voting: false branches: - stable/2023.2 - master # NOTE(gmann): py310 job is required to run for 2023.2 release. - openstack-tox-py310-arm64: voting: false branches: - stable/2023.2 # py3.11 testing is added from 2023.2 release onwards - openstack-tox-py311-arm64: voting: false branches: - stable/2023.2 - stable/2024.1 - master - project-template: name: openstack-python3-zed-jobs-arm64 description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Zed release on top of ARM64 architecture. This currently runs only a limited test set and supplements the python3-zed-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - openstack-tox-py39-arm64: voting: false - project-template: name: openstack-python3-zed-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-zed-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon - openstack-tox-py310: required-projects: - openstack/horizon voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-zed-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-zed-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron - openstack-tox-py310: required-projects: - openstack/neutron voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-zed-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-zed-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer - openstack-tox-py310: required-projects: - openstack/ceilometer voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-yoga-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Yoga release. check: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py39 gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py39 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-yoga-jobs-arm64 description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Yoga release on top of ARM64 architecture. This currently runs only a limited test set and supplements the python3-yoga-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - openstack-tox-py39-arm64: voting: false - project-template: name: openstack-python3-yoga-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-yoga-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-yoga-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-yoga-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-yoga-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-yoga-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-charm-zed-jobs description: | Runs unit tests for an OpenStack Charm project under the CPython version 3 releases designated for testing across OpenStack releases from Zed onwards. check: jobs: - openstack-tox-pep8 - openstack-tox-py310 gate: jobs: - openstack-tox-pep8 - openstack-tox-py310 - project-template: name: openstack-python3-charm-yoga-jobs description: | Runs unit tests for an OpenStack Charm project under the CPython version 3 releases designated for testing across OpenStack releases from Yoga onwards. check: jobs: - openstack-tox-pep8 - openstack-tox-py38 - openstack-tox-py310: voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py38 - project-template: name: openstack-python3-xena-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Xena release. check: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 - openstack-tox-py39: voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-xena-jobs-arm64 description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Xena release on top of ARM64 architecture. This currently runs only a limited test set and supplements the python3-xena-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - openstack-tox-py39-arm64: voting: false - project-template: name: openstack-python3-xena-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-xena-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-xena-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-xena-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-xena-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-xena-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-wallaby-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Wallaby release. check: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 - openstack-tox-py39: voting: false gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-wallaby-jobs-arm64 description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Wallaby release on top of ARM64 architecture. This currently runs only a limited test set and supplements the python3-wallaby-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - openstack-tox-py39-arm64: voting: false - project-template: name: openstack-python3-wallaby-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-wallaby-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon - openstack-tox-py39: required-projects: - openstack/horizon voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-wallaby-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-wallaby-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron - openstack-tox-py39: required-projects: - openstack/neutron voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-wallaby-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-wallaby-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer - openstack-tox-py39: required-projects: - openstack/ceilometer voting: false gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-victoria-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Victoria release. check: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py38 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-victoria-jobs-arm64 description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Victoria release on top of ARM64 architecture. This currently runs only a limited test set and supplements the python3-victoria-jobs. And it should not be run instead of the default! check-arm64: jobs: - openstack-tox-py38-arm64: voting: false - project-template: name: openstack-python3-victoria-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-victoria-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-victoria-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-victoria-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-victoria-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-victoria-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-ussuri-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Ussuri release. check: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py37 - openstack-tox-py38: voting: false branches: master gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - openstack-tox-py37 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-ussuri-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-ussuri-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py37: required-projects: - openstack/horizon - openstack-tox-py38: required-projects: - openstack/horizon voting: false branches: master gate: jobs: - openstack-tox-pep8: required-projects: - openstack/horizon - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py37: required-projects: - openstack/horizon post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-ussuri-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-ussuri-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py37: required-projects: - openstack/neutron - openstack-tox-py38: required-projects: - openstack/neutron voting: false branches: master gate: jobs: - openstack-tox-pep8: required-projects: - openstack/neutron - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py37: required-projects: - openstack/neutron post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-ussuri-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-ussuri-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. check: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py37: required-projects: - openstack/ceilometer - openstack-tox-py38: required-projects: - openstack/ceilometer voting: false branches: master gate: jobs: - openstack-tox-pep8: required-projects: - openstack/ceilometer - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py37: required-projects: - openstack/ceilometer post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python3-train-jobs description: | Runs unit tests for an OpenStack Python project under the CPython version 3 releases designated for testing in the Train release. check: jobs: - openstack-tox-py36 - openstack-tox-py37 gate: jobs: - openstack-tox-py36 - openstack-tox-py37 - project-template: name: openstack-python3-train-jobs-horizon description: | The standard :zuul:project_template:`openstack-python3-train-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. check: jobs: - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py37: required-projects: - openstack/horizon gate: jobs: - openstack-tox-py36: required-projects: - openstack/horizon - openstack-tox-py37: required-projects: - openstack/horizon - project-template: name: openstack-python3-train-jobs-neutron description: | The standard :zuul:project_template:`openstack-python3-train-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. check: jobs: - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py37: required-projects: - openstack/neutron gate: jobs: - openstack-tox-py36: required-projects: - openstack/neutron - openstack-tox-py37: required-projects: - openstack/neutron - project-template: name: openstack-python3-train-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python3-train-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. check: jobs: - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py37: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-py36: required-projects: - openstack/ceilometer - openstack-tox-py37: required-projects: - openstack/ceilometer - project-template: name: openstack-python35-jobs description: | Runs unit tests for an OpenStack Python project under cPython version 3.5. check: jobs: - openstack-tox-py35 gate: jobs: - openstack-tox-py35 - project-template: name: openstack-python35-jobs-horizon description: | The standard :zuul:project_template:`openstack-python35-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. check: jobs: - openstack-tox-py35: required-projects: - openstack/horizon gate: jobs: - openstack-tox-py35: required-projects: - openstack/horizon - project-template: name: openstack-python35-jobs-neutron description: | The standard :zuul:project_template:`openstack-python35-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. check: jobs: - openstack-tox-py35: required-projects: - openstack/neutron gate: jobs: - openstack-tox-py35: required-projects: - openstack/neutron - project-template: name: openstack-python35-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python35-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. check: jobs: - openstack-tox-py35: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-py35: required-projects: - openstack/ceilometer - project-template: name: openstack-python35-jobs-nonvoting description: | Runs unit tests for an OpenStack Python project under cPython version 3.5. The job is non-voting. check: jobs: - openstack-tox-py35: voting: false - project-template: name: openstack-python36-jobs description: | Runs unit tests for an OpenStack Python project under cPython version 3.6. check: jobs: - openstack-tox-py36 gate: jobs: - openstack-tox-py36 - project-template: name: openstack-python36-jobs-horizon description: | The standard openstack-python36-jobs but with horizon added as a required-projects. The dashboard projects currently need this due to how the tox_install.sh zuul-cloner's horizon for them. check: jobs: - openstack-tox-py36: required-projects: - openstack/horizon gate: jobs: - openstack-tox-py36: required-projects: - openstack/horizon - project-template: name: openstack-python36-jobs-neutron description: | The standard :zuul:project_template:`openstack-python36-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. check: jobs: - openstack-tox-py36: required-projects: - openstack/neutron gate: jobs: - openstack-tox-py36: required-projects: - openstack/neutron - project-template: name: openstack-python36-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python36-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. check: jobs: - openstack-tox-py36: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-py36: required-projects: - openstack/ceilometer - project-template: name: openstack-python36-jobs-nonvoting description: | Runs unit tests for an OpenStack Python project under cPython version 3.6. The job is non-voting. check: jobs: - openstack-tox-py36: voting: false - project-template: name: openstack-python37-jobs description: | Runs unit tests for an OpenStack Python project under cPython version 3.7. check: jobs: - openstack-tox-py37 gate: jobs: - openstack-tox-py37 - project-template: name: openstack-python37-jobs-horizon description: | The standard openstack-python37-jobs but with horizon added as a required-projects. The dashboard projects currently need this due to how the tox_install.sh zuul-cloner's horizon for them. check: jobs: - openstack-tox-py37: required-projects: - openstack/horizon gate: jobs: - openstack-tox-py37: required-projects: - openstack/horizon - project-template: name: openstack-python37-jobs-neutron description: | The standard :zuul:project_template:`openstack-python37-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. check: jobs: - openstack-tox-py37: required-projects: - openstack/neutron gate: jobs: - openstack-tox-py37: required-projects: - openstack/neutron - project-template: name: openstack-python37-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-python37-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. check: jobs: - openstack-tox-py37: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-py37: required-projects: - openstack/ceilometer - project-template: name: openstack-python37-jobs-nonvoting description: | Runs unit tests for an OpenStack Python project under cPython version 3.7. The job is non-voting. check: jobs: - openstack-tox-py37: voting: false - project-template: name: openstack-python38-jobs description: | Runs unit tests for an OpenStack Python project under cPython version 3.8. check: jobs: - openstack-tox-py38 gate: jobs: - openstack-tox-py38 - project-template: name: openstack-python38-jobs-nonvoting description: | Runs unit tests for an OpenStack Python project under cPython version 3.8. The job is non-voting. check: jobs: - openstack-tox-py38: voting: false - project-template: name: openstack-python38-jobs-no-constraints description: | Runs unit tests for an OpenStack Python project under cPython version 3.8. This uses a variant that do not use constraints. check: jobs: - tox-py38 gate: jobs: - tox-py38 - project-template: name: openstack-pep-publish-jobs description: | Runs the pep8 job and publishing of python tarball after merge. check: jobs: - openstack-tox-pep8 gate: jobs: - openstack-tox-pep8 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python-jobs-no-constraints description: | Runs the OpenStack PTI jobs for python, but uses the versions of them that do not use constraints. check: jobs: - tox-pep8 - tox-py27: nodeset: ubuntu-bionic gate: jobs: - tox-pep8 - tox-py27: nodeset: ubuntu-bionic post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python35-jobs-no-constraints description: | Runs unit tests for an OpenStack Python project under cPython version 3.5. This uses a variant that do not use constraints. check: jobs: - tox-py35: nodeset: ubuntu-xenial gate: jobs: - tox-py35: nodeset: ubuntu-xenial - project-template: name: openstack-python36-jobs-no-constraints description: | Runs unit tests for an OpenStack Python project under cPython version 3.6. This uses a variant that do not use constraints. check: jobs: - tox-py36: nodeset: ubuntu-bionic gate: jobs: - tox-py36: nodeset: ubuntu-bionic - project-template: name: openstack-python37-jobs-no-constraints description: | Runs unit tests for an OpenStack Python project under cPython version 3.7. This uses a variant that do not use constraints. check: jobs: - tox-py37: nodeset: ubuntu-bionic # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' gate: jobs: - tox-py37: nodeset: ubuntu-bionic # NOTE(gmann): This is stable branch template and new tox 4 require # some changes in tox.ini to be compatible with it. Let's pin tox <4 # for stable branches testing (<=stable/zed). vars: ensure_tox_version: '<4' - project-template: name: openstack-lower-constraints-jobs description: | Runs openstack-tox-lower-constraints in both the check and gate pipelines. check: jobs: - openstack-tox-lower-constraints gate: jobs: - openstack-tox-lower-constraints - project-template: name: openstack-lower-constraints-jobs-horizon description: | The standard :zuul:project_template:`openstack-lower-constraints-jobs` but with horizon added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. check: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/horizon gate: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/horizon - project-template: name: openstack-lower-constraints-jobs-neutron description: | The standard :zuul:project_template:`openstack-lower-constraints-jobs` but with neutron added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. check: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/neutron gate: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/neutron - project-template: name: openstack-lower-constraints-jobs-ceilometer description: | The standard :zuul:project_template:`openstack-lower-constraints-jobs` but with ceilometer added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. check: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/ceilometer gate: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/ceilometer - project-template: name: openstack-lower-constraints-master-branch-jobs description: | Runs openstack-tox-lower-constraints in both the check and gate pipelines but only on the master branch. check: jobs: - openstack-tox-lower-constraints: branches: master gate: jobs: - openstack-tox-lower-constraints: branches: master - project-template: name: openstack-pypy-jobs-nonvoting description: | Runs unit tests for an OpenStack Python project under PyPy. The job is non-voting. check: jobs: - openstack-tox-pypy: voting: false - project-template: name: docs-on-readthedocs description: | Runs normal OpenStack PTI build jobs but publishes to `readthedocs `__ instead of `docs.openstack.org `__. This is intended for projects that are aiming to follow the PTI but are not official. To use this template you need to: #. add the ``openstackci`` user as an admin to your RTD project #. generate a webhook URL via the "Integrations" dashboard page #. provide the ``id`` in the ``rtd_webhook_id`` variable in your project For example .. code-block:: yaml project: name: openstack-project description: My Project templates: - docs-on-readthedocs vars: rtd_webhook_id: '1234' check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs post: jobs: - trigger-readthedocs-webhook pre-release: jobs: - trigger-readthedocs-webhook release: jobs: - trigger-readthedocs-webhook - project-template: name: nodejs4-publish-to-npm description: | Runs publish jobs and tarball generation for Javascript. Uses NodeJS version 4. post: jobs: - publish-openstack-javascript-tarball: vars: node_version: 4 nodeset: ubuntu-xenial release: jobs: - release-openstack-javascript: vars: node_version: 4 nodeset: ubuntu-xenial - announce-release: dependencies: - release-openstack-javascript - project-template: name: nodejs6-publish-to-npm description: | Runs publish jobs and tarball generation for Javascript. Uses NodeJS version 6. post: jobs: - publish-openstack-javascript-tarball: vars: node_version: 6 release: jobs: - release-openstack-javascript: vars: node_version: 6 - announce-release: dependencies: - release-openstack-javascript - project-template: name: nodejs8-publish-to-npm description: | Runs publish jobs and tarball generation for Javascript. Uses NodeJS version 8. post: jobs: - publish-openstack-javascript-tarball: vars: node_version: 8 release: jobs: - release-openstack-javascript: vars: node_version: 8 - announce-release: dependencies: - release-openstack-javascript - project-template: name: nodejs10-publish-to-npm description: | Runs publish jobs and tarball generation for Javascript. Uses NodeJS version 10. post: jobs: - publish-openstack-javascript-tarball: vars: node_version: 10 release: jobs: - release-openstack-javascript: vars: node_version: 10 - announce-release: dependencies: - release-openstack-javascript - project-template: name: translation-jobs-master-only description: | Sync translations to translation server and back again for **master** only. This is intended for official OpenStack projects that have translations set up. post: jobs: - upstream-translation-update: branches: master periodic: jobs: - propose-translation-update: branches: master - project-template: name: translation-jobs-master-stable description: | Sync translations to translation server and back again for **master** and translated stable branches. This is intended for official OpenStack projects that have translations set up. post: jobs: - upstream-translation-update: branches: - master - stable/2024.1 - stable/2023.2 - stable/2023.1 - stable/zed periodic: jobs: - propose-translation-update: branches: - master - stable/2024.1 - stable/2023.2 - stable/2023.1 - stable/zed - project-template: name: openstack-specs-jobs description: | Runs jobs to build documents for a specs repository and publishes the result using a promote job. check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs promote: jobs: - promote-openstack-specs - project-template: name: build-only-specs-jobs description: | Runs jobs to build only documents for a specs repository. check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs - project-template: name: api-guide-jobs description: | Build the api-guide document and publish the result using a promote job. check: jobs: - build-openstack-api-guide: files: &api-guide-triggers - ^api-guide/.* - bindep.txt - doc/requirements.txt - test-requirements.txt - tox.ini gate: jobs: - build-openstack-api-guide: files: *api-guide-triggers promote: jobs: - promote-api-guide: files: *api-guide-triggers - project-template: name: api-ref-jobs description: | Build the api-ref document and publish the result using a promote job. check: jobs: - build-openstack-api-ref: files: &api-ref-triggers - ^os_api_ref/.* - ^api-ref/.* - ^doc/api_samples/.* - bindep.txt - doc/requirements.txt - test-requirements.txt - tox.ini gate: jobs: - build-openstack-api-ref: files: *api-ref-triggers promote: jobs: - promote-api-ref: files: *api-ref-triggers - project-template: name: deploy-guide-jobs description: | Build the deploy-guide document and publish the result using a promote job. check: jobs: - build-openstack-deploy-guide: files: &deploy-guide-triggers - ^deploy-guide/.* - bindep.txt - doc/requirements.txt - test-requirements.txt - tox.ini gate: jobs: - build-openstack-deploy-guide: files: *deploy-guide-triggers promote: jobs: - promote-deploy-guide: files: *deploy-guide-triggers - project-template: name: periodic-stable-jobs description: | Runs periodic jobs on stable branches. periodic-stable: jobs: - openstack-tox-docs: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 - openstack-tox-py36: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - openstack-tox-py38: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 - openstack-tox-py39: branches: - stable/zed - openstack-tox-py310: branches: - stable/2023.1 - stable/2023.2 - openstack-tox-py311: branches: - stable/2024.1 - project-template: name: periodic-stable-jobs-neutron description: | The :zuul:project_template:`periodic-stable-jobs` template but with neutron added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. periodic-stable: jobs: - openstack-tox-docs: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/neutron - openstack-tox-py36: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga required-projects: - openstack/neutron - openstack-tox-py38: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/neutron - openstack-tox-py39: branches: - stable/zed required-projects: - openstack/neutron - openstack-tox-py310: branches: - stable/2023.1 - stable/2023.2 required-projects: - openstack/neutron - openstack-tox-py311: branches: - stable/2024.1 required-projects: - openstack/neutron - project-template: name: periodic-stable-jobs-ceilometer description: | The :zuul:project_template:`periodic-stable-jobs` template ut with ceilometer added as a required-projects. This checks out the project code and allows tox_install_siblings to use it when building the venv. periodic-stable: jobs: - openstack-tox-docs: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/ceilometer - openstack-tox-py36: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga required-projects: - openstack/ceilometer - openstack-tox-py38: branches: - stable/victoria - stable/wallaby - stable/xena - stable/yoga - stable/zed - stable/2023.1 - stable/2023.2 - stable/2024.1 required-projects: - openstack/ceilometer - openstack-tox-py39: branches: - stable/zed required-projects: - openstack/ceilometer - openstack-tox-py310: branches: - stable/2023.1 - stable/2023.2 required-projects: - openstack/ceilometer - openstack-tox-py311: branches: - stable/2024.1 required-projects: - openstack/ceilometer - project-template: name: periodic-jobs-with-neutron-lib-master description: | Runs periodic job on master branch using neutron-lib from source. periodic: jobs: - openstack-tox-py311-with-neutron-lib-master - project-template: name: periodic-jobs-with-oslo-master description: | Runs periodic jobs on master branch using oslo libraries from source. periodic: jobs: - openstack-tox-py311-with-oslo-master - project-template: name: periodic-jobs-with-ovsdbapp-master description: | Runs periodic job on master branch using ovdsdbapp from source. periodic: jobs: - openstack-tox-py311-with-ovsdbapp-master - project-template: name: python-charm-interface-jobs description: | Run Python tests for charm-interface projects. check: jobs: - openstack-tox-pep8 gate: jobs: - openstack-tox-pep8 - project-template: name: python-charm-jobs description: | Run Python tests for charm projects. This run py2.7 job and supposed to be used on stable branch until stable/train. Ussuri onwards, py3 template should be used (DEPRECATED FOR REMOVAL). check: jobs: - openstack-tox-pep8 - openstack-tox-py27 gate: jobs: - openstack-tox-pep8 - openstack-tox-py27 - project-template: name: python-charm-layer-jobs description: | Run Python tests for charm layer projects. check: jobs: - openstack-tox-pep8 - openstack-tox-build gate: jobs: - openstack-tox-pep8 - openstack-tox-build - project-template: name: python35-charm-jobs description: | Run tox-pep8 and tox-py35 check and gate jobs (DEPRECATED FOR REMOVAL). check: jobs: - openstack-tox-pep8 - openstack-tox-py35 gate: jobs: - openstack-tox-pep8 - openstack-tox-py35 - project-template: name: python36-charm-jobs description: | Run tox-pep8 and tox-py36 check and gate jobs (DEPRECATED FOR REMOVAL). check: jobs: - openstack-tox-pep8 - openstack-tox-py36 gate: jobs: - openstack-tox-pep8 - openstack-tox-py36 - project-template: name: nodejs4-jobs description: | Run lint and test jobs using Node 4. check: jobs: - nodejs-run-lint: vars: node_version: 4 nodeset: ubuntu-xenial - nodejs-run-test-browser: vars: node_version: 4 nodeset: ubuntu-xenial gate: jobs: - nodejs-run-lint: vars: node_version: 4 nodeset: ubuntu-xenial - nodejs-run-test-browser: vars: node_version: 4 nodeset: ubuntu-xenial - project-template: name: nodejs6-jobs description: | Run lint and test jobs using Node 6. check: jobs: - nodejs-run-lint: vars: node_version: 6 nodeset: ubuntu-bionic - nodejs-run-test-browser: vars: node_version: 6 nodeset: ubuntu-bionic gate: jobs: - nodejs-run-lint: vars: node_version: 6 nodeset: ubuntu-bionic - nodejs-run-test-browser: vars: node_version: 6 nodeset: ubuntu-bionic - project-template: name: nodejs8-jobs description: | Run lint and test jobs using Node 8. check: jobs: - nodejs-run-lint: vars: node_version: 8 nodeset: ubuntu-bionic - nodejs-run-test-browser: vars: node_version: 8 nodeset: ubuntu-bionic gate: jobs: - nodejs-run-lint: vars: node_version: 8 nodeset: ubuntu-bionic - nodejs-run-test-browser: vars: node_version: 8 nodeset: ubuntu-bionic - project-template: name: nodejs10-jobs description: | Run lint and test jobs using Node 10. check: jobs: - nodejs-run-lint: vars: node_version: 10 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 10 nodeset: ubuntu-focal gate: jobs: - nodejs-run-lint: vars: node_version: 10 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 10 nodeset: ubuntu-focal - project-template: name: nodejs14-jobs description: | Run lint and test jobs using Node 14. check: jobs: - nodejs-run-lint: vars: node_version: 14 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 14 nodeset: ubuntu-focal gate: jobs: - nodejs-run-lint: vars: node_version: 14 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 14 nodeset: ubuntu-focal - project-template: name: nodejs16-jobs description: | Run lint and test jobs using Node 16. check: jobs: - nodejs-run-lint: vars: node_version: 16 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 16 nodeset: ubuntu-focal gate: jobs: - nodejs-run-lint: vars: node_version: 16 nodeset: ubuntu-focal - nodejs-run-test-browser: vars: node_version: 16 nodeset: ubuntu-focal - project-template: name: nodejs18-jobs description: | Run lint and test jobs using Node 18. check: jobs: - nodejs-run-lint: vars: node_version: 18 nodeset: ubuntu-jammy - nodejs-run-test-browser: vars: node_version: 18 nodeset: ubuntu-jammy gate: jobs: - nodejs-run-lint: vars: node_version: 18 nodeset: ubuntu-jammy - nodejs-run-test-browser: vars: node_version: 18 nodeset: ubuntu-jammy - project-template: name: nodejs20-jobs description: | Run lint and test jobs using Node 20. check: jobs: - nodejs-run-lint: vars: node_version: 20 nodeset: ubuntu-jammy - nodejs-run-test-browser: vars: node_version: 20 nodeset: ubuntu-jammy gate: jobs: - nodejs-run-lint: vars: node_version: 20 nodeset: ubuntu-jammy - nodejs-run-test-browser: vars: node_version: 20 nodeset: ubuntu-jammy - project-template: name: nodejs4-docs description: | Run docs jobs using Node 4. check: jobs: - nodejs-npm-run-docs: vars: node_version: 4 nodeset: ubuntu-xenial gate: jobs: - nodejs-npm-run-docs: vars: node_version: 4 nodeset: ubuntu-xenial - project-template: name: nodejs8-docs description: | Run docs jobs using Node 8. check: jobs: - nodejs-npm-run-docs: vars: node_version: 8 nodeset: ubuntu-bionic gate: jobs: - nodejs-npm-run-docs: vars: node_version: 8 nodeset: ubuntu-bionic - project-template: name: nodejs10-docs description: | Run docs jobs using Node 10. check: jobs: - nodejs-run-docs: vars: node_version: 10 gate: jobs: - nodejs-run-docs: vars: node_version: 10 - project-template: name: nodejs14-docs description: | Run docs jobs using Node 14. check: jobs: - nodejs-run-docs: vars: node_version: 14 gate: jobs: - nodejs-run-docs: vars: node_version: 14 - project-template: name: nodejs16-docs description: | Run docs jobs using Node 16. check: jobs: - nodejs-run-docs: vars: node_version: 16 gate: jobs: - nodejs-run-docs: vars: node_version: 16 - project-template: name: nodejs18-docs description: | Run docs jobs using Node 18. check: jobs: - nodejs-run-docs: vars: node_version: 18 gate: jobs: - nodejs-run-docs: vars: node_version: 18 - project-template: name: nodejs20-docs description: | Run docs jobs using Node 20 check: jobs: - nodejs-run-docs: vars: node_version: 20 gate: jobs: - nodejs-run-docs: vars: node_version: 20 - project-template: name: tempest-plugin-jobs description: | A set of jobs to run against Tempest Plugins check: jobs: - openstack-tox-pep8 gate: jobs: - openstack-tox-pep8 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: ansible-role-jobs description: | Run default tests for ansible-role repositories: Build documentation and run tox based linter. check: jobs: - openstack-tox-docs - openstack-tox-linters gate: jobs: - openstack-tox-docs - openstack-tox-linters - project-template: name: snap-jobs description: | Run tests for snap repositories. check: jobs: - openstack-tox-snap-with-sudo gate: jobs: - openstack-tox-snap-with-sudo - project-template: name: ansible-role-functional-jobs-xenial description: | Run functional tests on ansible-role repositories using Ubuntu Xenial nodes. check: jobs: - ansible-role-functional-ubuntu-xenial gate: jobs: - ansible-role-functional-ubuntu-xenial - project-template: name: ansible-role-functional-jobs-xenial-nv description: | Run functional tests on ansible-role repositories using Ubuntu Xenial nodes. The tests are non-voting. check: jobs: - ansible-role-functional-ubuntu-xenial: voting: false - project-template: name: integrated-gate-py3 description: | Run the python3 Tempest integration tests in check and gate for repositories in the integrated gate. check: jobs: - grenade - tempest-full-py3: branches: regex: ^driverfixes.*$ negate: true gate: jobs: - grenade - tempest-full-py3: branches: regex: ^driverfixes.*$ negate: true # TODO(gmann): Remove the 'integrated-gate-py35' template once all repo # including their stable branches are renamed it to 'integrated-gate-py3' - project-template: name: integrated-gate-py35 description: | Run the python3 Tempest integration tests in check and gate for repositories in the integrated gate. check: jobs: - grenade-py3 - tempest-full-py3: branches: regex: ^driverfixes.*$ negate: true gate: jobs: - grenade-py3 - tempest-full-py3: branches: regex: ^driverfixes.*$ negate: true - project-template: name: golang-jobs description: | Run golang tests in check and gate. check: jobs: - golang-fmt - golang-unit gate: jobs: - golang-fmt - golang-unit - project-template: name: lib-forward-testing-python3 description: | Run tempest under python 3, installing the library from source to ensure that changes in the library do not break any of the services running in devstack. check: jobs: - tempest-full-py3 gate: jobs: - tempest-full-py3 - project-template: name: openstack-tox-molecule description: | Runs Ansible molecule testing using tox 'molecule' environment. check: jobs: - openstack-tox-molecule gate: jobs: - openstack-tox-molecule - project-template: name: official-openstack-repo-jobs description: | Jobs attached to official and active OpenStack repositories. This template must be added in openstack/project-config repository. post: jobs: - openstack-upload-github-mirror pre-release: jobs: - openstack-upload-github-mirror release: jobs: - openstack-upload-github-mirror