# 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