zuul-jobs/zuul.yaml
2017-07-25 20:36:22 +00:00

157 lines
3.8 KiB
YAML

# 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