zuul-jobs/zuul.yaml
Monty Taylor f8e746cb14
Make a docs-on-readthedocs project-template
In the existing config projects using readthedocs have a template called
"docs-on-rtfd" that triggers readthedocs on post, pre-release and
release.

Make an equivilent project-template, except call it docs-on-readthedocs
as 'rtfd', cute as it is, isn't the nicest thing to have in our job
structure.

Depends-On: I901331a6b2dd7d269d5e356e76674ef9635924b5
Change-Id: I11eea48401413847aa7f0b113bcd041998a9e156
2017-08-29 13:43:01 -05:00

171 lines
3.9 KiB
YAML

- 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.
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:
.. 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_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
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
- project-template:
name: docs-on-readthedocs
post:
jobs:
- trigger-readthedocs
pre-release:
jobs:
- trigger-readthedocs
release:
jobs:
- trigger-readthedocs
- project:
name: openstack-infra/zuul-jobs
check:
jobs:
- tox-linters
gate:
jobs:
- tox-linters