# 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-sphinx-docs description: | Runs legacy OpenStack doc build without publication jobs. This template is deprecated and should only be used for older stable branches. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs - project-template: name: publish-openstack-sphinx-docs description: | Runs legacy OpenStack doc build and publication jobs. This template is deprecated and should only be used for older stable branches. check: jobs: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - publish-openstack-sphinx-docs - 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-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 gate: jobs: - build-openstack-releasenotes 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-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 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 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 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 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-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 gate: jobs: - tox-pep8 - tox-py27 post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python35-jobs-no-constraints description: | Runs the OpenStack PTI jobs for python3.5, but uses the versions of them that do not use constraints. check: jobs: - tox-py35: nodeset: ubuntu-xenial gate: jobs: - tox-py35: nodeset: ubuntu-xenial post: jobs: - publish-openstack-python-branch-tarball - project-template: name: openstack-python37-jobs-no-constraints description: | Runs the OpenStack PTI jobs for python3.7, but uses the versions of them that do not use constraints. check: jobs: - tox-pep8 - tox-py37 gate: jobs: - tox-pep8 - tox-py37 post: jobs: - publish-openstack-python-branch-tarball - 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-pypy-jobs description: | Runs unit tests for an OpenStack Python project under PyPy. check: jobs: - openstack-tox-pypy gate: jobs: - openstack-tox-pypy - 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: 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/stein - stable/train periodic: jobs: - propose-translation-update: branches: - master - stable/stein - stable/train - 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: install-guide-jobs description: | Build and publish install-guide document. check: jobs: - build-openstack-install-guide gate: jobs: - build-openstack-install-guide post: jobs: - publish-install-guide - project-template: name: periodic-stable-jobs description: | Runs periodic jobs on stable branches. periodic-stable: jobs: - build-openstack-sphinx-docs: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - openstack-tox-docs: branches: - stable/stein - stable/train # py27 periodic jobs will run until Train, from Ussuri it will # be replaced with py37 periodic job - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - stable/train - openstack-tox-py36: branches: - stable/train - openstack-tox-py37: branches: - stable/train - 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: - build-openstack-sphinx-docs: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky required-projects: - openstack/neutron - openstack-tox-docs: branches: - stable/stein - stable/train required-projects: - openstack/neutron # py27 periodic jobs will run until Train, from Ussuri it will # be replaced with py37 periodic job - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - stable/train required-projects: - openstack/neutron - openstack-tox-py36: branches: - stable/train required-projects: - openstack/neutron - openstack-tox-py37: branches: - stable/train 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: - build-openstack-sphinx-docs: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky required-projects: - openstack/ceilometer - openstack-tox-docs: branches: - stable/stein - stable/train required-projects: - openstack/ceilometer # py27 periodic jobs will run until Train, from Ussuri it will # be replaced with py37 periodic job - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - stable/train required-projects: - openstack/ceilometer - openstack-tox-py36: branches: - stable/train required-projects: - openstack/ceilometer - openstack-tox-py37: branches: - stable/train 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-py36-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-py36-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-py36-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. 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. 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. 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-npm-run-lint: vars: node_version: 4 nodeset: ubuntu-xenial - nodejs-npm-run-test: vars: node_version: 4 nodeset: ubuntu-xenial gate: jobs: - nodejs-npm-run-lint: vars: node_version: 4 nodeset: ubuntu-xenial - nodejs-npm-run-test: vars: node_version: 4 nodeset: ubuntu-xenial - project-template: name: nodejs6-jobs description: | Run lint and test jobs using Node 6. check: jobs: - nodejs-npm-run-lint: vars: node_version: 6 - nodejs-npm-run-test: vars: node_version: 6 gate: jobs: - nodejs-npm-run-lint: vars: node_version: 6 - nodejs-npm-run-test: vars: node_version: 6 - project-template: name: nodejs8-jobs description: | Run lint and test jobs using Node 8. check: jobs: - nodejs-npm-run-lint: vars: node_version: 8 - nodejs-npm-run-test: vars: node_version: 8 gate: jobs: - nodejs-npm-run-lint: vars: node_version: 8 - nodejs-npm-run-test: vars: node_version: 8 - 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: nodejs6-docs description: | Run docs jobs using Node 6. check: jobs: - nodejs-npm-run-docs: vars: node_version: 6 gate: jobs: - nodejs-npm-run-docs: vars: node_version: 6 - project-template: name: nodejs8-docs description: | Run docs jobs using Node 8. check: jobs: - nodejs-npm-run-docs: vars: node_version: 8 gate: jobs: - nodejs-npm-run-docs: vars: node_version: 8 - 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-centos7 description: | Run functional tests on ansible-role repositories using CentOS 7 nodes. check: jobs: - ansible-role-functional-centos-7 gate: jobs: - ansible-role-functional-centos-7 - 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-py3 - tempest-full-py3: branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$ gate: jobs: - grenade-py3 - tempest-full-py3: branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$ # 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: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$ gate: jobs: - grenade-py3 - tempest-full-py3: branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$ - 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: puppet-beaker-jobs-xenial-infra description: | Runs puppet beaker tests for OpenStack Infrastructure. The jobs are run on Ubuntu Xenial. check: jobs: - puppet-beaker-rspec-puppet-4-infra gate: jobs: - puppet-beaker-rspec-puppet-4-infra - project-template: name: puppet-beaker-jobs-xenial-infra-nv description: | Runs puppet beaker tests for OpenStack Infrastructure. The jobs are run on Ubuntu Xenial and are non-voting. check: jobs: - puppet-beaker-rspec-puppet-4-infra: voting: false - project-template: name: puppet-beaker-jobs-centos-7-infra description: | Runs puppet beaker tests for OpenStack Infrastructure. The jobs are run on CentOS 7. check: jobs: - puppet-beaker-rspec-puppet-4-centos-7-infra gate: jobs: - puppet-beaker-rspec-puppet-4-centos-7-infra - project-template: name: infra-puppet-apply-jobs description: | Runs puppet apply tests for OpenStack Infrastructure. check: jobs: - infra-puppet-apply-4-ubuntu-xenial - openstackci-beaker-puppet-4 gate: jobs: - infra-puppet-apply-4-ubuntu-xenial - openstackci-beaker-puppet-4 - project-template: name: lib-forward-testing description: | Run tempest, 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 is only working on pike and newer. - tempest-full: branches: ^(?!stable/(newton|ocata)).*$ - legacy-tempest-dsvm-neutron-src: branches: ^stable/(newton|ocata)$ gate: jobs: - tempest-full: branches: ^(?!stable/(newton|ocata)).*$ - legacy-tempest-dsvm-neutron-src: branches: ^stable/(newton|ocata)$ - 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