openstack-zuul-jobs/zuul.yaml
Monty Taylor 956011d327
Add a base job for puppet-openstack-integration
All of the puppet-openstack integration jobs do a thing with zuul-cloner
that the migration script can't detect. It CAN however detect that they
are using the puppet-openstack-integration repo and set the parent.

Depends-On: Ia52d35a13d27624698c61fc2de715f3e27879873
Change-Id: I337f9f938ca9eee1b2abe8c6a6fed82c173ce28f
2017-09-22 11:04:34 -05:00

659 lines
16 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
- 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: build-openstack-sphinx-docs
parent: tox-docs
description: |
Builds docuemtation 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
post-run: playbooks/sphinx-docs/post
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: py27
- 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-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: 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: legacy-base
description: |
Base job for autoconverted legacy jobs
pre-run: playbooks/legacy/pre
- 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
- 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.
nodes: 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-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
- nodeset:
name: centos-7
nodes:
- name: centos-7
label: centos-7
- nodeset:
name: debian-jessie
nodes:
- name: debian-jessie
label: debian-jessie
- nodeset:
name: fedora-26
nodes:
- name: fedora-26
label: fedora-26
- nodeset:
name: opensuse-423
nodes:
- name: opensuse-423
label: opensuse-423
- nodeset:
name: tripleo-centos-7
nodes:
- name: tripleo-centos-7
label: tripleo-centos-7
- nodeset:
name: ubuntu-trusty
nodes:
- name: ubuntu-trusty
label: ubuntu-trusty
- nodeset:
name: ubuntu-xenial
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
- nodeset:
name: centos-7-2-node
nodes:
- name: primary
label: centos-7
- name: secondary
label: centos-7
groups:
- name: subnodes
nodes:
- secondary
- nodeset:
name: centos-7-3-node
nodes:
- name: primary
label: centos-7
- name: secondary-1
label: centos-7
- name: secondary-2
label: centos-7
groups:
- name: subnodes
nodes:
- secondary-1
- secondary-2
- nodeset:
name: centos-7-4-node
nodes:
- name: primary
label: centos-7
- name: secondary-1
label: centos-7
- name: secondary-2
label: centos-7
- name: secondary-3
label: centos-7
groups:
- name: subnodes
nodes:
- secondary-1
- secondary-2
- secondary-3
- nodeset:
name: ubuntu-xenial-2-node
nodes:
- name: primary
label: ubuntu-xenial
- name: subnodes
label: ubuntu-xenial
- nodeset:
name: ubuntu-xenial-3-node
nodes:
- name: primary
label: ubuntu-xenial
- name: secondary-1
label: ubuntu-xenial
- name: secondary-2
label: ubuntu-xenial
groups:
- name: subnodes
nodes:
- secondary-1
- secondary-2
- project-template:
name: publish-openstack-python-docs
post:
jobs:
- publish-openstack-python-docs
- project-template:
name: publish-openstack-python-docs-infra
check:
jobs:
- build-openstack-sphinx-docs
gate:
jobs:
- build-openstack-sphinx-docs
post:
jobs:
- publish-openstack-python-docs-infra
- project-template:
name: publish-to-pypi
description: |
Publish a Python package to PyPI, then send release announcement
emails and propose updates to upper-constraints as needed.
pre-release:
jobs:
- release-openstack-python
- announce-release:
dependencies:
- release-openstack-python
- propose-update-constraints:
dependencies:
- release-openstack-python
release:
jobs:
- release-openstack-python
- announce-release:
dependencies:
- release-openstack-python
- propose-update-constraints:
dependencies:
- release-openstack-python
- project-template:
name: publish-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-openstack-server
description: |
Release OpenStack server projects.
pre-release:
jobs:
- publish-openstack-python-tarball
- announce-release:
dependencies:
- publish-openstack-python-tarball
release:
jobs:
- publish-openstack-python-tarball
- announce-release:
dependencies:
- publish-openstack-python-tarball
- project-template:
name: openstack-python-jobs
check:
jobs:
- build-openstack-sphinx-docs
- openstack-tox-pep8
- openstack-tox-py27
gate:
jobs:
- build-openstack-sphinx-docs
- openstack-tox-pep8
- openstack-tox-py27
post:
jobs:
- publish-openstack-python-branch-tarball
- project-template:
name: openstack-python34-jobs
check:
jobs:
- openstack-tox-py34
gate:
jobs:
- openstack-tox-py34
- project-template:
name: openstack-python35-jobs
check:
jobs:
- openstack-tox-py35
gate:
jobs:
- openstack-tox-py35
- project-template:
name: openstack-python35-jobs-nonvoting
check:
jobs:
- openstack-tox-py35:
voting: false
- project-template:
name: openstack-pypy-jobs
check:
jobs:
- openstack-tox-pypy
gate:
jobs:
- openstack-tox-pypy
- project-template:
name: openstack-pypy-jobs-nonvoting
check:
jobs:
- openstack-tox-pypy:
voting: false
- project-template:
name: openstack-python-jobs-trusty
check:
jobs:
- build-openstack-sphinx-docs:
nodes: ubuntu-trusty
- openstack-tox-pep8:
nodes: ubuntu-trusty
- openstack-tox-py27:
nodes: ubuntu-trusty
gate:
jobs:
- build-openstack-sphinx-docs:
nodes: ubuntu-trusty
- openstack-tox-pep8:
nodes: ubuntu-trusty
- openstack-tox-py27:
nodes: ubuntu-trusty
- project-template:
name: docs-on-readthedocs
post:
jobs:
- trigger-readthedocs
pre-release:
jobs:
- trigger-readthedocs
release:
jobs:
- trigger-readthedocs
- project:
name: openstack-infra/openstack-zuul-jobs
check:
jobs:
- base-integration-centos-7
- base-integration-debian-jessie
- base-integration-fedora-26:
voting: false
- base-integration-ubuntu-trusty
- base-integration-ubuntu-xenial
- base-integration-opensuse423
- build-openstack-sphinx-docs
- tox-linters
gate:
jobs:
- base-integration-centos-7
- base-integration-debian-jessie
- base-integration-ubuntu-trusty
- base-integration-ubuntu-xenial
- base-integration-opensuse423
- build-openstack-sphinx-docs
- tox-linters