# TODO: further parameterize the base job and roles so that it can # include log publishing and nodeset defaults once Zuul supports # site-local variables. - job: name: base description: | A sample base job. Zuul installations should override this job using the project "shadow" functionality. All jobs ultimately inherit from this. It runs a pre-playbook which copies all of the job's prepared git repos on to all of the nodes in the nodeset and sets the default timeout value. Zuul installations should add a log publishing post playbook to this job, and may wish to supply a default nodeset and adjust the timeout values. pre-run: playbooks/base/pre post-run: playbooks/base/post-ssh roles: - zuul: openstack-infra/zuul-jobs timeout: 1800 - job: name: unittests parent: base 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. roles: - zuul: openstack-infra/zuul-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: tox_envlist work against specified environments (ALL selects all) tox_environment list of user defined environmental variables to pass to bash shell tox_command_line an optional 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 # NOTE: This is not the OpenStack docs job, this is a job to run a tox # environment called "docs". OpenStack will want a different job # in openstack-infra/zuul-jobs description: | Run documentation unit tests. Uses tox with the "docs" environment. vars: tox_envlist: docs post-run: playbooks/tox/docs-post - 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-tarball parent: tox description: | Generate a python source tarball and a binary wheel Uses tox with the "venv" environment. vars: tox_envlist: venv run: playbooks/tox/tarball post-run: playbooks/tox/tarball-post - project: name: openstack-infra/zuul-jobs check: jobs: - tox-linters