openstack-zuul-jobs/zuul.yaml

440 lines
10 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
nodes: centos-7
- job:
name: base-integration-debian-jessie
parent: base-integration
nodes: debian-jessie
- job:
name: base-integration-fedora-26
parent: base-integration
nodes: fedora-26
- job:
name: base-integration-opensuse423
parent: base-integration
nodes: opensuse-423
- job:
name: base-integration-ubuntu-trusty
parent: base-integration
nodes: ubuntu-trusty
- job:
name: base-integration-ubuntu-xenial
parent: base-integration
nodes: ubuntu-xenial
- job:
name: openstack-doc-build
parent: tox-docs
run: playbooks/openstack-doc-build/run
post-run: playbooks/openstack-doc-build/post
required-projects:
- name: openstack/requirements
roles:
- zuul: openstack-infra/zuul-jobs
vars:
tox_upper_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_upper_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.
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.
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.
vars:
tox_envlist: py35
- 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.
vars:
tox_envlist: 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
- 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:
- openstack-doc-build
gate:
jobs:
- openstack-doc-build
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
release:
jobs:
- release-openstack-python
- announce-release:
dependencies:
- release-openstack-python
- propose-update-constraints
- 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:
- openstack-doc-build
- openstack-tox-pep8
- openstack-tox-py27
gate:
jobs:
- openstack-doc-build
- 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-python-jobs-trusty
check:
jobs:
- openstack-doc-build:
nodes: ubuntu-trusty
- openstack-tox-pep8:
nodes: ubuntu-trusty
- openstack-tox-py27:
nodes: ubuntu-trusty
gate:
jobs:
- openstack-doc-build:
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
- base-integration-ubuntu-trusty
- base-integration-ubuntu-xenial
- base-integration-opensuse423
- openstack-doc-build
- tox-linters
gate:
jobs:
- base-integration-centos-7
- base-integration-debian-jessie
- base-integration-fedora-26
- base-integration-ubuntu-trusty
- base-integration-ubuntu-xenial
- base-integration-opensuse423
- openstack-doc-build
- tox-linters