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

737 lines
18 KiB
YAML

# Shared jobs specific to the OpenStack Project
# imports jobs from:
# https://git.openstack.org/cgit/openstack-infra/project-config
# https://git.openstack.org/cgit/openstack-infra/zuul-jobs
- job:
name: base-integration
description: |
Runs roles that are included by default in the 'base' job in order to
prevent regressions.
parent: base-minimal
roles:
- zuul: openstack-infra/zuul-jobs
run: tests/base
files:
- ^roles/configure-mirror/.*
- ^roles/configure-unbound/.*
- ^roles/fetch-zuul-cloner/.*
- ^roles/mirror-info/.*
- ^tests/.*
- job:
name: base-integration-centos-7
parent: base-integration
nodeset: centos-7
- job:
name: base-integration-debian-jessie
parent: base-integration
nodeset: debian-jessie
- job:
name: base-integration-fedora-26
parent: base-integration
nodeset: fedora-26
- job:
name: base-integration-opensuse423
parent: base-integration
nodeset: opensuse-423
- job:
name: base-integration-ubuntu-trusty
parent: base-integration
nodeset: ubuntu-trusty
- job:
name: base-integration-ubuntu-xenial
parent: base-integration
nodeset: ubuntu-xenial
- job:
name: multinode-integration
description: |
Runs roles that are included by default in the 'multinode' job in order
to prevent regressions.
parent: base-minimal
roles:
- zuul: openstack-infra/zuul-jobs
run: tests/multinode
files:
- ^roles/configure-mirror/.*
- ^roles/configure-unbound/.*
- ^roles/fetch-zuul-cloner/.*
- ^roles/mirror-info/.*
- ^roles/multi-node-bridge/.*
- ^roles/multi-node-firewall/.*
- ^roles/multi-node-hosts-file/.*
- ^roles/multi-node-known-hosts/.*
- ^tests/.*
- job:
name: multinode-integration-centos-7
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: centos-7
- name: secondary
label: centos-7
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: multinode-integration-debian-jessie
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: debian-jessie
- name: secondary
label: debian-jessie
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: multinode-integration-fedora-26
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: fedora-26
- name: secondary
label: fedora-26
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: multinode-integration-opensuse423
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: opensuse-423
- name: secondary
label: opensuse-423
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: multinode-integration-ubuntu-trusty
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: ubuntu-trusty
- name: secondary
label: ubuntu-trusty
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: multinode-integration-ubuntu-xenial
parent: multinode-integration
nodeset:
nodes:
- name: primary
label: ubuntu-xenial
- name: secondary
label: ubuntu-xenial
groups:
- name: switch
nodes:
- primary
- name: peers
nodes:
- secondary
- job:
name: build-openstack-sphinx-docs
parent: tox-docs
description: |
Builds documentation using Sphinx per the OpenStack PTI and then
collects the results into the log directory so that they can be
examined in their published form after a successful build.
It runs the prepare-docs-for-afs role so that AFS stamp files
can be examined if desired, and also validates htaccess files
using the whereto tool.
run: playbooks/sphinx-docs/run
success-url: html/
required-projects:
- name: openstack/requirements
roles:
- zuul: openstack-infra/zuul-jobs
vars:
tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt"
tox_envlist: venv
tox_extra_args: -vv python setup.py build_sphinx
- job:
name: tox-py35-on-zuul
parent: tox-py35
description: |
Run zuul's py35 unittests on patches to zuul-jobs
vars:
zuul_work_dir: "src/git.openstack.org/openstack-infra/zuul"
required-projects:
- name: openstack-infra/zuul
override-branch: feature/zuulv3
- job:
name: openstack-tox
parent: tox
description: |
Base job to run tox jobs with OpenStack project specific updates.
Processing upper-constraints files from openstack/requirements.
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt"
- job:
name: openstack-tox-py27
parent: openstack-tox
description: |
Run unit tests for an OpenStack Python project under cPython version 2.7.
Uses tox with the ``py27`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: py27
- job:
name: openstack-tox-py34
parent: openstack-tox
description: |
Run unit tests for an OpenStack project under cPython version 3.4.
Uses tox with the ``py34`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: py34
- job:
name: openstack-tox-py35
parent: openstack-tox
description: |
Run unit tests for an OpenStack project under cPython version 3.5.
Uses tox with the ``py35`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: py35
- job:
name: openstack-tox-pypy
parent: openstack-tox
description: |
Run unit tests for an OpenStack Python project under PyPy.
Uses tox with the ``pypy`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: pypy
- job:
name: openstack-tox-linters
parent: openstack-tox
description: |
Runs code linting tests.
Uses tox with the ``linters`` environment.
vars:
tox_envlist: linters
- job:
name: openstack-tox-pep8
parent: openstack-tox
description: |
Runs code pep8 tests.
Uses tox with the ``pep8`` environment.
vars:
tox_envlist: pep8
- job:
name: openstack-tox-cover
parent: openstack-tox
description: |
Run code coverage tests.
Uses tox with the ``cover`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: cover
- job:
name: openstack-tox-bashate
parent: openstack-tox
description: |
Run bashate tests.
Uses tox with the ``bashate`` environment.
vars:
tox_envlist: bashate
- job:
name: openstack-tox-validate
parent: openstack-tox
description: |
Run validate tests.
Uses tox with the ``validate`` environment.
vars:
tox_envlist: validate
- job:
name: openstack-tox-pylint
parent: openstack-tox
description: |
Runs pylint tests.
Uses tox with the ``pylint`` environment.
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
vars:
tox_envlist: pylint
- job:
name: openstack-tox-compare-cover
parent: openstack-tox
description: |
Run coverage comparison tests.
Uses tox with the ``compare-cover`` environment.
vars:
tox_envlist: compare-cover
- job:
name: publish-openstack-python-tarball
parent: publish-openstack-artifacts
description: |
Publish the results of the tox-tarball job to tarballs.openstack.org.
pre-run: playbooks/python-tarball/pre
run: playbooks/python-tarball/run
post-run: playbooks/python-tarball/post
- job:
name: build-openstack-python-tarball
parent: python-sdist
description: |
Build a tarball using tox but do not upload it anywhere.
pre-run: playbooks/python-tarball/pre
run: playbooks/python-tarball/run
- job:
name: publish-openstack-javascript-tarball
parent: publish-openstack-artifacts
description: |
Build and publish source tarball for a Javascript project.
Responds to these variables:
.. zuul:jobvar:: node_version
:default: 6
The version of Node to use.
.. zuul:jobvar: zuul_work_dir
:default: {{ zuul.project.src_dir }}
Path to operate in.
pre-run: playbooks/javascript/pre
run: playbooks/javascript/tarball
post-run:
- playbooks/javascript/post
- playbooks/javascript/post-tarball
- job:
name: announce-release
description:
Send a release announcement after publishing a project
pre-run: playbooks/release/pre
run: playbooks/release/announce
required-projects:
- openstack-infra/release-tools
- job:
name: xstatic-check-version
description:
Check version used by xstatic packages
run: playbooks/xstatic/check-version
- job:
name: build-openstack-releasenotes
parent: openstack-tox
description: |
Build releasenotes, with optional translation support, using reno.
success-url: html/
run: playbooks/releasenotes/run
post-run: playbooks/releasenotes/post
# Release notes always build on master.
override-branch: master
timeout: 1800
files:
- ^releasenotes/.*
- ^tox.ini
- ^.*requirements.txt$
vars:
tox_envlist: releasenotes
- job:
name: build-openstack-api-ref
parent: openstack-tox
description: |
Build api-ref document. This is only run on master branch of a
project.
success-url: html/
post-run: playbooks/build-api-ref/post
timeout: 1800
vars:
tox_envlist: api-ref
# We only publish the master branch, so no need to run
# for changes on other branches.
branches: master
files:
- ^tox.ini$
- ^api-ref/.*
- ^doc/api_samples/.*
- job:
name: build-openstack-api-guide
parent: openstack-tox
description: |
Build api-guide document. This is only run for changes on master
branch of a project.
success-url: html/
post-run: playbooks/build-api-guide/post
timeout: 1800
vars:
tox_envlist: api-guide
# We only publish the master branch, so no need to run
# for changes on other branches.
branches: master
files:
- ^tox.ini$
- ^api-guide/.*
- job:
name: build-openstack-deploy-guide
parent: openstack-tox
description: |
Build deploy-guide document.
success-url: html/
post-run: playbooks/build-deploy-guide/post
timeout: 1800
vars:
tox_envlist: deploy-guide
files:
- ^tox.ini$
- ^deploy-guide/.*
- bindep.txt
- other-requirements.txt
- job:
name: legacy-base
description: |
Base job for autoconverted legacy jobs
pre-run: playbooks/legacy/pre
nodeset: legacy-ubuntu-xenial
- job:
name: legacy-dsvm-base
description: |
Base job for autoconverted legacy devstack-gate jobs
This job runs devstack-gate with as few changes as possible and
may be used by jobs which have been automatically converted as
part of the migration to Zuul v3.
nodeset: devstack-single-node
pre-run: playbooks/legacy/pre
required-projects:
- openstack-dev/devstack
- openstack-infra/devstack-gate
- openstack-infra/tripleo-ci
- openstack/ceilometer
- openstack/ceilometermiddleware
- openstack/cinder
- openstack/django_openstack_auth
- openstack/glance
- openstack/glance_store
- openstack/heat
- openstack/heat-cfntools
- openstack/heat-templates
- openstack/horizon
- openstack/keystone
- openstack/keystoneauth
- openstack/keystonemiddleware
- openstack/manila
- openstack/manila-ui
- openstack/neutron
- openstack/neutron-fwaas
- openstack/neutron-lbaas
- openstack/neutron-vpnaas
- openstack/nova
- openstack/octavia
- openstack/os-apply-config
- openstack/os-brick
- openstack/os-client-config
- openstack/os-collect-config
- openstack/os-net-config
- openstack/os-refresh-config
- openstack/osc-lib
- openstack/requirements
- openstack/swift
- openstack/tempest
- openstack/tempest-lib
- openstack/tripleo-heat-templates
- openstack/tripleo-image-elements
- openstack/tripleo-incubator
- openstack/zaqar
- job:
name: legacy-dsvm-base-multinode
parent: legacy-dsvm-base
description: |
Base job for multinode devstack jobs.
Will setup firewall rules on all the nodes allowing them to talk to
each other.
roles:
- zuul: openstack-infra/zuul-jobs
pre-run: playbooks/legacy/multinode-networking/pre
- job:
name: legacy-puppet-openstack-integration
description: |
Base job for autoconverted legacy puppet-openstack-integration
This job runs provides the base required projects for
puppet-openstack-integration jobs.
nodeset: devstack-single-node
pre-run: playbooks/legacy/pre
required-projects:
- openstack/puppet-aodh
- openstack/puppet-barbican
- openstack/puppet-ceilometer
- openstack/puppet-ceph
- openstack/puppet-cinder
- openstack/puppet-cloudkitty
- openstack/puppet-congress
- openstack/puppet-designate
- openstack/puppet-ec2api
- openstack/puppet-glance
- openstack/puppet-gnocchi
- openstack/puppet-heat
- openstack/puppet-horizon
- openstack/puppet-ironic
- openstack/puppet-keystone
- openstack/puppet-manila
- openstack/puppet-mistral
- openstack/puppet-monasca
- openstack/puppet-murano
- openstack/puppet-neutron
- openstack/puppet-nova
- openstack/puppet-octavia
- openstack/puppet-openstack-cookiecutter
- openstack/puppet-openstack-integration
- openstack/puppet-openstack_extras
- openstack/puppet-openstacklib
- openstack/puppet-oslo
- openstack/puppet-ovn
- openstack/puppet-panko
- openstack/puppet-qdr
- openstack/puppet-sahara
- openstack/puppet-swift
- openstack/puppet-tacker
- openstack/puppet-tempest
- openstack/puppet-trove
- openstack/puppet-vswitch
- openstack/puppet-vitrage
- openstack/puppet-watcher
- openstack/puppet-zaqar
- openstack/tempest-horizon
- job:
name: legacy-publish-openstack-artifacts
parent: publish-openstack-artifacts
description: |
Base job for autoconverted legacy jobs that publish artifacts
nodeset: devstack-single-node
pre-run: playbooks/legacy/pre
- job:
name: project-config-gerrit
parent: tox
description: |
Runs checks on gerrit-related configuration. Uses ``gerrit``
tox env.
vars:
tox_envlist: gerrit
files:
- ^gerrit/acls/.*$
- bindep.txt
- check_valid_gerrit_projects.py
- gerrit/projects.yaml
- other-requirements.txt
- tools/check_projects_yaml_alphabetized.sh
- tools/check_valid_gerrit_config.sh
- tox.ini
- job:
name: project-config-grafyaml
parent: tox
description: |
Runs checks on grafyaml configuration with the ``grafyaml`` tox
env.
vars:
tox_envlist: grafyaml
required-projects:
- openstack-infra/grafyaml
files:
- ^grafana/.*$
- bindep.txt
- other-requirements.txt
- tools/grafyaml-validate.sh
- tox.ini
- job:
name: project-config-irc-access
parent: tox
description: |
Runs checks on IRC configuration with the ``irc`` tox
env.
vars:
tox_envlist: irc
files:
- bindep.txt
- accessbot/channels.yaml
- gerritbot/channels.yaml
- other-requirements.txt
- tools/check_irc_access.py
- tools/check_channels_yaml.sh
- tools/irc_tests.py
- tools/normalize_channels_yaml.py
- tools/projectconfig_yamllib.py
- tox.ini
- job:
name: project-config-nodepool
parent: tox
description: |
Runs checks on nodepool configuration with the ``nodepool`` tox
env.
vars:
tox_envlist: nodepool
files:
- ^nodepool/nodepool.yaml
- bindep.txt
- other-requirements.txt
- tox.ini
- job:
name: build-openstack-specs-site
parent: tox
description: |
Generates the index page of http://specs.openstack.org/.
vars:
tox_envlist: specs
files:
- bindep.txt
- specs/.*
- other-requirements.txt
- tox.ini
- job:
name: project-config-dib
parent: tox
description: |
Runs diskimage-builder on all elements in project-config. Uses
the ``dib`` tox env.
vars:
tox_envlist: dib
files:
- ^nodepool/elements/.*$
- bindep.txt
- other-requirements.txt
- tox.ini
- job:
name: project-config-infra-docs-index
parent: tox
description: |
Generates the index page for https://docs.openstack.org/infra/.
vars:
tox_envlist: infra-docs
files:
- 'bindep.txt'
- 'docs-site/.*'
- 'other-requirements.txt'
- 'tox.ini'
- job:
name: project-config-build-openafs-centos
description: |
There are no official builds for AFS on Centos 7, hence
we build our own and publish them to tarballs.openstack.org
for our centos hosts that need access to the mirror to
consume.
parent: publish-openstack-artifacts
run: playbooks/package-afs-centos/run
post-run: playbooks/package-afs-centos/post
nodeset: centos-7
- job:
name: legacy-kolla-kubernetes-base
description: |
This job runs provides the base required projects for
legacy-kolla-kubernetes jobs.
parent: legacy-base
required-projects:
- openstack/requirements