# 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 and publication jobs `_ following the project testing interface. 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 post: jobs: - publish-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 to the Infra docs location. check: jobs: - tox-docs gate: jobs: - tox-docs post: jobs: - publish-tox-docs-infra - project-template: name: release-tox-docs-infra description: | Runs normal OpenStack PTI build jobs and publishes to the Infra docs location only on tagged releases. check: jobs: - tox-docs gate: jobs: - tox-docs release: jobs: - publish-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. 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-python3 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-python3 gate: jobs: - test-release-openstack-python3 pre-release: jobs: - release-openstack-python3 release: jobs: - release-openstack-python3 - announce-release: dependencies: - release-openstack-python3 - propose-update-constraints: dependencies: - release-openstack-python3 - 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 publish jobs. check: jobs: - build-openstack-releasenotes gate: jobs: - build-openstack-releasenotes post: jobs: - publish-openstack-releasenotes - project-template: name: release-notes-jobs-python3 description: | Runs the release notes jobs under python 3. check: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 gate: jobs: - build-openstack-releasenotes: vars: sphinx_python: python3 post: jobs: - publish-openstack-releasenotes-python3 tag: jobs: - publish-openstack-releasenotes-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-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 gate: jobs: - tox-py35 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: - build-openstack-sphinx-docs gate: jobs: - build-openstack-sphinx-docs post: jobs: - trigger-readthedocs-webhook pre-release: jobs: - trigger-readthedocs-webhook release: jobs: - trigger-readthedocs-webhook - project-template: name: docs-on-readthedocs-failing description: | Template for projects requiring updates to their docs-on-readthedocs usage. Because project managers are required to update their project, infra can not fix deployment. Since rtd triggering only happens in the post pipeline, nobody really checks the results of the jobs. Not everyone reads the mailing list as closely as we might like. The result is a lot of projects with broken documentation publishing that don't know about it. This job always fails and provides a link to the mailing list post with details of how to fix the job. Revert to :zuul:project_template:`docs-on-readthedocs` when the webhook id is added to the project. check: jobs: - build-openstack-sphinx-docs - your-readthedocs-job-requires-attention: voting: false gate: jobs: - build-openstack-sphinx-docs - 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 release: jobs: - release-openstack-javascript: vars: node_version: 4 - 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-rocky description: | Sync translations to translation server and back again for **stable/rocky** branch only. This is intended for official OpenStack projects that have translations set up. .. note:: This template is obsolete, use :zuul:project_template:`translation-jobs-master-only` or :zuul:project_template:`translation-jobs-master-stable` instead. post: jobs: - upstream-translation-update: branches: stable/rocky periodic: jobs: - propose-translation-update: branches: stable/rocky - 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/queens - stable/rocky periodic: jobs: - propose-translation-update: branches: - master - stable/queens - stable/rocky - project-template: name: openstack-specs-jobs description: | Runs jobs to build and publish documents for a specs repository. check: jobs: - openstack-tox-docs gate: jobs: - openstack-tox-docs post: jobs: - publish-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 and publish api-guide document. check: jobs: - build-openstack-api-guide gate: jobs: - build-openstack-api-guide post: jobs: - publish-api-guide - project-template: name: api-ref-jobs description: | Build and publish api-ref document. check: jobs: - build-openstack-api-ref gate: jobs: - build-openstack-api-ref post: jobs: - publish-api-ref - project-template: name: deploy-guide-jobs description: | Build and publish deploy-guide document. check: jobs: - build-openstack-deploy-guide gate: jobs: - build-openstack-deploy-guide post: jobs: - publish-deploy-guide - 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-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky - 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-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky 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-py27: branches: - stable/ocata - stable/pike - stable/queens - stable/rocky 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-py35-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-py35-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-py35-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: nodejs4-jobs description: | Run lint and test jobs using Node 4. check: jobs: - nodejs-npm-run-lint: vars: node_version: 4 - nodejs-npm-run-test: vars: node_version: 4 gate: jobs: - nodejs-npm-run-lint: vars: node_version: 4 - nodejs-npm-run-test: vars: node_version: 4 - 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 gate: jobs: - nodejs-npm-run-docs: vars: node_version: 4 - 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: - build-openstack-sphinx-docs - openstack-tox-linters gate: jobs: - build-openstack-sphinx-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-py35 description: | Run the python3 Tempest integration tests in check and gate for repositories in the integrated gate. check: jobs: - tempest-full-py3: branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$ gate: jobs: - 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-infra - puppet-beaker-rspec-puppet-4-infra: voting: false gate: jobs: - puppet-beaker-rspec-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-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-centos-7-infra - puppet-beaker-rspec-puppet-4-centos-7-infra: voting: false gate: jobs: - puppet-beaker-rspec-centos-7-infra - project-template: name: infra-puppet-apply-jobs description: | Runs puppet apply tests for OpenStack Infrastructure. check: jobs: - infra-puppet-apply-3-centos-7 - infra-puppet-apply-3-ubuntu-trusty: branches: master - infra-puppet-apply-3-ubuntu-xenial - infra-puppet-apply-4-centos-7 - infra-puppet-apply-4-ubuntu-xenial - openstackci-beaker-centos-7 - openstackci-beaker-ubuntu-trusty - openstackci-beaker - openstackci-beaker-puppet-4-centos-7: voting: false - openstackci-beaker-puppet-4: voting: false gate: jobs: - infra-puppet-apply-3-centos-7 - infra-puppet-apply-3-ubuntu-trusty: branches: master - infra-puppet-apply-3-ubuntu-xenial - openstackci-beaker-centos-7 - openstackci-beaker-ubuntu-trusty - infra-puppet-apply-4-centos-7 - infra-puppet-apply-4-ubuntu-xenial - openstackci-beaker - 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