# 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. .. zuul:jobvar: tox_upper_constraints_file Path to an upper constraints file. Will be provided to tox via UPPER_CONSTRAINTS_FILE environment variable if it exists. run: playbooks/tox/run pre-run: playbooks/tox/pre post-run: playbooks/tox/post vars: tox_environment: 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: tox-bashate parent: tox description: | Run bashate tests. Uses tox with the ``bashate`` environment. vars: tox_envlist: bashate - 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