openstack-zuul-jobs/zuul.d/project-templates.yaml
Akihiro Motoki 8f1859f4a3 Use python3 in release-notes-jobs
release-notes-jobs project-template used in stable branches like rocky
uses python2, but it refers to the master branch of the requirements repo
which now supports only python3. As a result build-openstack-releasenotes
job fail. The releasenotes build is always run against the master branch,
so we can use python3 in release-notes-jobs project-template.

release-notes-jobs and release-notes-jobs-python3 are now similar,
but it would be good to keep both as release-notes-jobs is referred
in stable branches in many repositories.

Change-Id: I708b20424a7b044cac3ea589714235fce5fae546
2020-02-10 22:22:37 +09:00

1825 lines
50 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:
vars:
sphinx_python: python3
gate:
jobs:
- build-openstack-releasenotes:
vars:
sphinx_python: python3
promote:
jobs:
- promote-openstack-releasenotes
- project-template:
name: release-notes-jobs-python3
description: |
Builds the release notes jobs under python 3 and publishes the
result using a promote job.
.. note::
Only repos listed in ``openstack/governance`` repository are
allowed to publish to the `OpenStack docs website
<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.
This template is deprecated and should only be used for older
stable branches (train and older). For newer releases, use the
release specific template instead, for example
:zuul:project_template:`openstack-python3-ussuri-jobs`.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py27
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py27
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python-jobs-horizon
description: |
The standard :zuul:project_template:`openstack-python-jobs`
but with horizon added as a
required-projects. This checks out the project code and allows
tox_install_siblings to use horizon when building the venv.
This template is deprecated and should only be used for older
stable branches (train and older). For newer releases, use the
release specific template instead, for example
:zuul:project_template:`openstack-python3-ussuri-jobs-horizon`.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py27:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py27:
required-projects:
- openstack/horizon
post:
jobs:
# This job does not use tox and thus does not need
# any required-projects.
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python-jobs`
but with neutron added as a
required-projects. This checks out the project code and allows
tox_install_siblings to use neutron when building the venv.
This template is deprecated and should only be used for older
stable branches (train and older). For newer releases, use the
release specific template instead, for example
:zuul:project_template:`openstack-python3-ussuri-jobs-neutron`.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py27:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py27:
required-projects:
- openstack/neutron
post:
jobs:
# This job does not use tox and thus does not need
# any required-projects.
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python-jobs`
but with ceilometer added as a
required-projects. This checks out the project code and allows
tox_install_siblings to use ceilometer when building the venv.
This template is deprecated and should only be used for older
stable branches (train and older). For newer releases, use the
release specific template instead, for example
:zuul:project_template:`openstack-python3-ussuri-jobs-ceilometer`.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py27:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py27:
required-projects:
- openstack/ceilometer
post:
jobs:
# This job does not use tox and thus does not need
# any required-projects.
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-cover-jobs
description: |
Runs openstack-tox-cover in only the check pipeline.
check:
jobs:
- openstack-tox-cover
- project-template:
name: openstack-cover-jobs-horizon
description: |
The standard openstack-cover-jobs but with horizon added as a
required-projects. This checks out the project code and allows
tox_install_siblings to use it when building the venv.
check:
jobs:
- openstack-tox-cover:
required-projects:
- openstack/horizon
- project-template:
name: openstack-cover-jobs-neutron
description: |
The standard openstack-cover-jobs but with neutron added as a
required-projects. This checks out the project code and allows
tox_install_siblings to use it when building the venv.
check:
jobs:
- openstack-tox-cover:
required-projects:
- openstack/neutron
- project-template:
name: openstack-python3-ussuri-jobs
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing in the Ussuri release.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py36
- openstack-tox-py37
- openstack-tox-py38:
voting: false
branches: master
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py36
- openstack-tox-py37
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-ussuri-jobs-horizon
description: |
The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
but with horizon added as a required-projects. This checks out
the project code and allows tox_install_siblings to use horizon
when building the venv.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py36:
required-projects:
- openstack/horizon
- openstack-tox-py37:
required-projects:
- openstack/horizon
- openstack-tox-py38:
required-projects:
- openstack/horizon
voting: false
branches: master
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/horizon
- openstack-tox-py36:
required-projects:
- openstack/horizon
- openstack-tox-py37:
required-projects:
- openstack/horizon
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-ussuri-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py36:
required-projects:
- openstack/neutron
- openstack-tox-py37:
required-projects:
- openstack/neutron
- openstack-tox-py38:
required-projects:
- openstack/neutron
voting: false
branches: master
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/neutron
- openstack-tox-py36:
required-projects:
- openstack/neutron
- openstack-tox-py37:
required-projects:
- openstack/neutron
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-ussuri-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python3-ussuri-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv.
check:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
- openstack-tox-py38:
required-projects:
- openstack/ceilometer
voting: false
branches: master
gate:
jobs:
- openstack-tox-pep8:
required-projects:
- openstack/ceilometer
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python3-train-jobs
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing in the Train release.
check:
jobs:
- openstack-tox-py36
- openstack-tox-py37
gate:
jobs:
- openstack-tox-py36
- openstack-tox-py37
- project-template:
name: openstack-python3-train-jobs-horizon
description: |
The standard :zuul:project_template:`openstack-python3-train-jobs`
but with horizon added as a required-projects. This checks out
the project code and allows tox_install_siblings to use horizon
when building the venv.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/horizon
- openstack-tox-py37:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/horizon
- openstack-tox-py37:
required-projects:
- openstack/horizon
- project-template:
name: openstack-python3-train-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python3-train-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/neutron
- openstack-tox-py37:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/neutron
- openstack-tox-py37:
required-projects:
- openstack/neutron
- project-template:
name: openstack-python3-train-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python3-train-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-python35-jobs
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.5.
check:
jobs:
- openstack-tox-py35
gate:
jobs:
- openstack-tox-py35
- project-template:
name: openstack-python35-jobs-horizon
description: |
The standard :zuul:project_template:`openstack-python35-jobs`
but with horizon added as a required-projects. This checks out
the project code and allows tox_install_siblings to use horizon
when building the venv.
check:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/horizon
- project-template:
name: openstack-python35-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python35-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv.
check:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/neutron
- project-template:
name: openstack-python35-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python35-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv.
check:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-py35:
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-python35-jobs-nonvoting
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.5.
The job is non-voting.
check:
jobs:
- openstack-tox-py35:
voting: false
- project-template:
name: openstack-python36-jobs
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.6.
check:
jobs:
- openstack-tox-py36
gate:
jobs:
- openstack-tox-py36
- project-template:
name: openstack-python36-jobs-horizon
description: |
The standard openstack-python36-jobs but with horizon added as a
required-projects. The dashboard projects currently need this
due to how the tox_install.sh zuul-cloner's horizon for them.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/horizon
- project-template:
name: openstack-python36-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python36-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/neutron
- project-template:
name: openstack-python36-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python36-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv.
check:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-py36:
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-python36-jobs-nonvoting
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.6.
The job is non-voting.
check:
jobs:
- openstack-tox-py36:
voting: false
- project-template:
name: openstack-python37-jobs
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.7.
check:
jobs:
- openstack-tox-py37
gate:
jobs:
- openstack-tox-py37
- project-template:
name: openstack-python37-jobs-horizon
description: |
The standard openstack-python37-jobs but with horizon added as a
required-projects. The dashboard projects currently need this
due to how the tox_install.sh zuul-cloner's horizon for them.
check:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/horizon
- project-template:
name: openstack-python37-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-python37-jobs`
but with neutron added as a required-projects. This checks out
the project code and allows tox_install_siblings to use neutron
when building the venv.
check:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/neutron
- project-template:
name: openstack-python37-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-python37-jobs`
but with ceilometer added as a required-projects. This checks out
the project code and allows tox_install_siblings to use ceilometer
when building the venv.
check:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-py37:
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-python37-jobs-nonvoting
description: |
Runs unit tests for an OpenStack Python project under cPython
version 3.7.
The job is non-voting.
check:
jobs:
- openstack-tox-py37:
voting: false
- project-template:
name: openstack-python-jobs-no-constraints
description: |
Runs the OpenStack PTI jobs for python, but uses the versions of them
that do not use constraints.
check:
jobs:
- tox-pep8
- tox-py27
gate:
jobs:
- tox-pep8
- tox-py27
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python35-jobs-no-constraints
description: |
Runs the OpenStack PTI jobs for python3.5, but uses the versions of them
that do not use constraints.
check:
jobs:
- tox-py35:
nodeset: ubuntu-xenial
gate:
jobs:
- tox-py35:
nodeset: ubuntu-xenial
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python37-jobs-no-constraints
description: |
Runs the OpenStack PTI jobs for python3.7, but uses the versions of them
that do not use constraints.
check:
jobs:
- tox-pep8
- tox-py37
gate:
jobs:
- tox-pep8
- tox-py37
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-lower-constraints-jobs
description: |
Runs openstack-tox-lower-constraints in both the check and gate pipelines.
check:
jobs:
- openstack-tox-lower-constraints
gate:
jobs:
- openstack-tox-lower-constraints
- project-template:
name: openstack-lower-constraints-jobs-horizon
description: |
The standard :zuul:project_template:`openstack-lower-constraints-jobs`
but with horizon added as a required-projects.
This checks out the project code and allows
tox_install_siblings to use it when building the venv.
check:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/horizon
- project-template:
name: openstack-lower-constraints-jobs-neutron
description: |
The standard :zuul:project_template:`openstack-lower-constraints-jobs`
but with neutron added as a required-projects.
This checks out the project code and allows
tox_install_siblings to use it when building the venv.
check:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/neutron
gate:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/neutron
- project-template:
name: openstack-lower-constraints-jobs-ceilometer
description: |
The standard :zuul:project_template:`openstack-lower-constraints-jobs`
but with ceilometer added as a required-projects.
This checks out the project code and allows
tox_install_siblings to use it when building the venv.
check:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/ceilometer
gate:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/ceilometer
- project-template:
name: openstack-pypy-jobs
description: |
Runs unit tests for an OpenStack Python project under PyPy.
check:
jobs:
- openstack-tox-pypy
gate:
jobs:
- openstack-tox-pypy
- project-template:
name: openstack-pypy-jobs-nonvoting
description: |
Runs unit tests for an OpenStack Python project under PyPy.
The job is non-voting.
check:
jobs:
- openstack-tox-pypy:
voting: false
- project-template:
name: docs-on-readthedocs
description: |
Runs normal OpenStack PTI build jobs but publishes to
`readthedocs <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
# py27 periodic jobs will run until Train, from Ussuri it will
# be replaced with py37 periodic job
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
- stable/train
- openstack-tox-py36:
branches:
- stable/train
- openstack-tox-py37:
branches:
- stable/train
- project-template:
name: periodic-stable-jobs-neutron
description: |
The :zuul:project_template:`periodic-stable-jobs` template
but with neutron added as a required-projects.
This checks out the project code and allows
tox_install_siblings to use it when building the venv.
periodic-stable:
jobs:
- build-openstack-sphinx-docs:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
required-projects:
- openstack/neutron
- openstack-tox-docs:
branches:
- stable/stein
- stable/train
required-projects:
- openstack/neutron
# py27 periodic jobs will run until Train, from Ussuri it will
# be replaced with py37 periodic job
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
- stable/train
required-projects:
- openstack/neutron
- openstack-tox-py36:
branches:
- stable/train
required-projects:
- openstack/neutron
- openstack-tox-py37:
branches:
- stable/train
required-projects:
- openstack/neutron
- project-template:
name: periodic-stable-jobs-ceilometer
description: |
The :zuul:project_template:`periodic-stable-jobs` template
ut with ceilometer added as a required-projects.
This checks out the project code and allows
tox_install_siblings to use it when building the venv.
periodic-stable:
jobs:
- build-openstack-sphinx-docs:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
required-projects:
- openstack/ceilometer
- openstack-tox-docs:
branches:
- stable/stein
- stable/train
required-projects:
- openstack/ceilometer
# py27 periodic jobs will run until Train, from Ussuri it will
# be replaced with py37 periodic job
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
- stable/train
required-projects:
- openstack/ceilometer
- openstack-tox-py36:
branches:
- stable/train
required-projects:
- openstack/ceilometer
- openstack-tox-py37:
branches:
- stable/train
required-projects:
- openstack/ceilometer
- project-template:
name: periodic-jobs-with-neutron-lib-master
description: |
Runs periodic job on master branch using
neutron-lib from source.
periodic:
jobs:
- openstack-tox-py36-with-neutron-lib-master
- project-template:
name: periodic-jobs-with-oslo-master
description: |
Runs periodic jobs on master branch using
oslo libraries from source.
periodic:
jobs:
- openstack-tox-py36-with-oslo-master
- project-template:
name: periodic-jobs-with-ovsdbapp-master
description: |
Runs periodic job on master branch using
ovdsdbapp from source.
periodic:
jobs:
- openstack-tox-py36-with-ovsdbapp-master
- project-template:
name: python-charm-interface-jobs
description: |
Run Python tests for charm-interface projects.
check:
jobs:
- openstack-tox-pep8
gate:
jobs:
- openstack-tox-pep8
- project-template:
name: python-charm-jobs
description: |
Run Python tests for charm projects.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py27
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py27
- project-template:
name: python-charm-layer-jobs
description: |
Run Python tests for charm layer projects.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-build
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-build
- project-template:
name: python35-charm-jobs
description: |
Run tox-pep8 and tox-py35 check and gate jobs.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py35
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py35
- project-template:
name: python36-charm-jobs
description: |
Run tox-pep8 and tox-py36 check and gate jobs.
check:
jobs:
- openstack-tox-pep8
- openstack-tox-py36
gate:
jobs:
- openstack-tox-pep8
- openstack-tox-py36
- project-template:
name: nodejs4-jobs
description: |
Run lint and test jobs using Node 4.
check:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 4
nodeset: ubuntu-xenial
- nodejs-npm-run-test:
vars:
node_version: 4
nodeset: ubuntu-xenial
gate:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 4
nodeset: ubuntu-xenial
- nodejs-npm-run-test:
vars:
node_version: 4
nodeset: ubuntu-xenial
- project-template:
name: nodejs6-jobs
description: |
Run lint and test jobs using Node 6.
check:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 6
- nodejs-npm-run-test:
vars:
node_version: 6
gate:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 6
- nodejs-npm-run-test:
vars:
node_version: 6
- project-template:
name: nodejs8-jobs
description: |
Run lint and test jobs using Node 8.
check:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 8
- nodejs-npm-run-test:
vars:
node_version: 8
gate:
jobs:
- nodejs-npm-run-lint:
vars:
node_version: 8
- nodejs-npm-run-test:
vars:
node_version: 8
- project-template:
name: nodejs4-docs
description: |
Run docs jobs using Node 4.
check:
jobs:
- nodejs-npm-run-docs:
vars:
node_version: 4
nodeset: ubuntu-xenial
gate:
jobs:
- nodejs-npm-run-docs:
vars:
node_version: 4
nodeset: ubuntu-xenial
- project-template:
name: 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