openstack-zuul-jobs/zuul.d/project-templates.yaml

1771 lines
47 KiB
YAML

# 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
<https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation>`_
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
<https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation>`_
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
<https://docs.openstack.org/doc-contrib-guide/doc-index.html>`_
.
.. note::
Only repos listed in ``openstack/governance`` repository are
allowed to publish to the `OpenStack docs website
<https://docs.openstack.org>`_ .
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
<https://docs.openstack.org>`_ .
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
<https://docs.openstack.org>`_ .
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 <https://readthedocs.org>`__ instead of
`docs.openstack.org <https://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