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

1673 lines
44 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-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: 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
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
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
- 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
required-projects:
- openstack/neutron
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
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
required-projects:
- openstack/ceilometer
- openstack-tox-py27:
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- stable/stein
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