# Shared jobs that are generally applicable to everyone # Assumes a 'base' job defined elsewhere - job: name: unittests description: | Perform setup common to all unit test jobs. This performs basic host and general project setup tasks common to all types of unit test jobs. pre-run: playbooks/unittests/pre post-run: playbooks/unittests/post - job: name: tox parent: unittests description: | Base job containing setup and teardown for tox-based test jobs. This performs basic host and general project setup tasks common to all tox unit test jobs. Responds to these variables: .. zuul:jobvar:: tox_envlist Use the specified tox environments (``ALL`` selects all). .. zuul:jobvar:: tox_environment List of user defined environmental variables to pass to bash shell. .. zuul:jobvar:: tox_extra_args String containing extra arguments to append to the tox command line. run: playbooks/tox/run pre-run: playbooks/tox/pre post-run: playbooks/tox/post vars: tox_environment_defaults: NOSE_WITH_HTML_OUTPUT: 1 NOSE_HTML_OUT_FILE: nose_results.html NOSE_WITH_XUNIT: 1 - job: name: tox-py27 parent: tox description: | Run unit tests for a Python project under cPython version 2.7. Uses tox with the ``py27`` environment. vars: tox_envlist: py27 - job: name: tox-py34 parent: tox description: | Run unit tests for a Python project under cPython version 3.4. Uses tox with the ``py34`` environment. vars: tox_envlist: py34 - job: name: tox-py35 parent: tox description: | Run unit tests for a Python project under cPython version 3.5. Uses tox with the ``py35`` environment. vars: tox_envlist: py35 - job: name: tox-docs parent: tox description: | Run documentation unit tests. Uses tox with the ``docs`` environment. vars: tox_envlist: docs post-run: playbooks/tox/docs-post success-url: html/ - job: name: tox-linters parent: tox description: | Runs code linting tests. Uses tox with the ``linters`` environment. vars: tox_envlist: linters - job: name: tox-pep8 parent: tox description: | Runs code pep8 tests. Uses tox with the ``pep8`` environment. vars: tox_envlist: pep8 - job: name: tox-cover parent: tox description: | Run code coverage tests. Uses tox with the ``cover`` environment. vars: tox_envlist: cover - job: name: python-sdist description: | Build a source tarball and wheel for uploading run: playbooks/python/sdist.yaml post-run: playbooks/python/tarball-post - job: name: python-upload-pypi parent: python-sdist description: | Generate a and upload a python source tarball and binary wheel Requires a variable ``pypi_info`` be set which is a dict containing at least a ``username`` and ``password`` attribute. post-run: playbooks/python/upload-pypi - job: name: trigger-readthedocs description: Send a trigger to the readthedocs url to tell it to build docs nodes: [] run: playbooks/python/readthedocs - job: name: multinode description: | Do additional setup needed for multi-node jobs such as setting up overlay networks and setting up known-hosts and ssh keys pre-run: playbooks/multinode/pre #### # zuul-jobs/project-config integration #### - 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/project-config run: playbooks/integration-tests/base - job: name: base-integration-centos-7 parent: base-integration nodes: - name: centos-7 label: centos-7 - job: name: base-integration-debian-jessie parent: base-integration nodes: - name: debian-jessie label: debian-jessie - job: name: base-integration-fedora-26 parent: base-integration nodes: - name: fedora-26 label: fedora-26 - job: name: base-integration-opensuse423 parent: base-integration nodes: - name: opensuse-423 label: opensuse-423 - job: name: base-integration-ubuntu-trusty parent: base-integration nodes: - name: ubuntu-trusty label: ubuntu-trusty - job: name: base-integration-ubuntu-xenial parent: base-integration nodes: - name: ubuntu-xenial label: ubuntu-xenial - project: name: openstack-infra/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 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