# 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. 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. 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. 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. 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-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: openstack-python-jobs-trusty description: | The standard :zuul:project_template:`openstack-python-jobs` but run on an Ubuntu Trusty system. This template is obsolete, use :zuul:project_template:`openstack-python-jobs` instead. check: jobs: - openstack-tox-pep8: nodeset: ubuntu-trusty - openstack-tox-py27: nodeset: ubuntu-trusty gate: jobs: - openstack-tox-pep8: nodeset: ubuntu-trusty - openstack-tox-py27: nodeset: ubuntu-trusty - 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 - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - 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 - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - 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 - openstack-tox-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - stable/stein - 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-py27-with-oslo-master - 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