Split job definitions into multiple files
We have too many jobs to put them all in one file; split them up in files which mirror the documentation. Change-Id: Ic44f18085ccf0b561a0f4aa0a4274fe8eb99402c
This commit is contained in:
parent
cd7a2dd166
commit
2a5822ea8b
31
zuul.d/docker-jobs.yaml
Normal file
31
zuul.d/docker-jobs.yaml
Normal file
@ -0,0 +1,31 @@
|
||||
# Jobs listed in docker-jobs.rst.
|
||||
|
||||
- job:
|
||||
name: build-docker-image
|
||||
description: |
|
||||
Build a docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
pre-run: playbooks/docker-image/pre.yaml
|
||||
run: playbooks/docker-image/run.yaml
|
||||
|
||||
- job:
|
||||
name: upload-docker-image
|
||||
parent: build-docker-image
|
||||
description: |
|
||||
Build and upload a docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
.. include:: ../../playbooks/docker-image/credentials.rst
|
||||
post-run: playbooks/docker-image/upload.yaml
|
||||
|
||||
- job:
|
||||
name: promote-docker-image
|
||||
description: |
|
||||
Retag a previously-uploaded docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
.. include:: ../../playbooks/docker-image/credentials.rst
|
||||
run: playbooks/docker-image/promote.yaml
|
||||
nodeset:
|
||||
nodes: []
|
96
zuul.d/general-jobs.yaml
Normal file
96
zuul.d/general-jobs.yaml
Normal file
@ -0,0 +1,96 @@
|
||||
# Jobs listed in general-jobs.rst.
|
||||
|
||||
- job:
|
||||
name: dco-license
|
||||
description: |
|
||||
A job to validate all new commits have been signed using --signoff.
|
||||
run: playbooks/dco-license/run.yaml
|
||||
nodeset:
|
||||
nodes: []
|
||||
|
||||
- job:
|
||||
name: unittests
|
||||
abstract: true
|
||||
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.yaml
|
||||
post-run: playbooks/unittests/post.yaml
|
||||
|
||||
- job:
|
||||
name: multinode
|
||||
abstract: true
|
||||
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.yaml
|
||||
|
||||
- job:
|
||||
name: run-test-command
|
||||
parent: unittests
|
||||
description: |
|
||||
Run simple command as test.
|
||||
|
||||
To use this, set the ``test_command`` variable to a single command or
|
||||
a list of commands. For complex list of commands, it is recommended to
|
||||
use a single command that run a proper script.
|
||||
run: playbooks/run-test-command/run.yaml
|
||||
vars:
|
||||
test_command: "exit 1"
|
||||
|
||||
- job:
|
||||
name: upload-git-mirror
|
||||
description: |
|
||||
Mirrors a tested project repository to a remote git server.
|
||||
|
||||
.. zuul:jobvar:: git_mirror_credentials
|
||||
:type: dict
|
||||
|
||||
This is expected to be a Zuul Secret with these keys:
|
||||
|
||||
.. zuul:jobvar:: user
|
||||
|
||||
SSH user for the remote git repository
|
||||
|
||||
.. zuul:jobvar:: host
|
||||
|
||||
SSH host for the remote git repository
|
||||
|
||||
.. zuul:jobvar:: ssh_key
|
||||
|
||||
Literal private key contents.
|
||||
Should start with something like ``-----BEGIN RSA PRIVATE KEY-----``.
|
||||
|
||||
.. zuul:jobvar:: host_key
|
||||
|
||||
SSH host key of the remote git server.
|
||||
Can be obtained with ``ssh-keyscan -H <host>``.
|
||||
|
||||
.. zuul:jobvar:: git_mirror_repository
|
||||
|
||||
Path of the remote git repository
|
||||
run: playbooks/upload-git-mirror/run.yaml
|
||||
|
||||
- job:
|
||||
name: validate-zone-db
|
||||
parent: base
|
||||
description: |
|
||||
Validate zone.db files in project.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: zone_files
|
||||
:default: {{ ansible_user_dir }}/{{ zuul.project.src_dir }}
|
||||
|
||||
Search for zone.db files recursively in this directory.
|
||||
Format should be domain.xyz/zone.db, where the parent
|
||||
directory is named for the zone described.
|
||||
|
||||
.. zuul:jobvar:: zone_db_list
|
||||
:default: []
|
||||
|
||||
Override the default searching above with explicit
|
||||
domain/path references (see validate-zone-db role)
|
||||
run: playbooks/validate-zone-db/run.yaml
|
196
zuul.d/js-jobs.yaml
Normal file
196
zuul.d/js-jobs.yaml
Normal file
@ -0,0 +1,196 @@
|
||||
# Jobs listed in js-jobs.rst.
|
||||
|
||||
- job:
|
||||
name: nodejs-npm
|
||||
parent: unittests
|
||||
description: |
|
||||
Base job for javascript operations
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
pre-run: playbooks/javascript/pre.yaml
|
||||
run: playbooks/javascript/run.yaml
|
||||
post-run: playbooks/javascript/post.yaml
|
||||
vars:
|
||||
npm_command: build
|
||||
|
||||
- job:
|
||||
name: build-javascript-tarball
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build a source tarball for a Javascript project
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
vars:
|
||||
npm_command: pack
|
||||
|
||||
- job:
|
||||
name: build-javascript-content
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build javascript web content as it should be deployed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
success-url: npm/html/
|
||||
|
||||
- job:
|
||||
name: build-javascript-content-tarball
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build an archive of javascript web content as it should be deployed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
|
||||
.. zuul:jobvar: create_tarball_directory
|
||||
|
||||
Create a tarball with the contents of
|
||||
create_tarball_directory (relative to zuul_work_dir).
|
||||
post-run: playbooks/javascript/tarball.yaml
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-test
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run test using nodejs. This test also starts Xvfb for run time
|
||||
tests.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
pre-run: playbooks/javascript/pre-test.yaml
|
||||
vars:
|
||||
npm_command: test
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-lint
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run lint using nodejs.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
vars:
|
||||
npm_command: lint
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-docs
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run docs using nodejs.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
post-run: playbooks/tox/docs-post.yaml
|
||||
success-url: html/
|
||||
vars:
|
||||
npm_command: docs
|
321
zuul.d/python-jobs.yaml
Normal file
321
zuul.d/python-jobs.yaml
Normal file
@ -0,0 +1,321 @@
|
||||
- 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_constraints_file
|
||||
|
||||
Path to a pip constraints file. Will be provided to tox in the
|
||||
TOX_CONSTRAINTS_FILE environment variable if it exists.
|
||||
|
||||
.. zuul:jobvar: tox_install_siblings
|
||||
:default: true
|
||||
|
||||
Override tox requirements that have corresponding zuul git repos
|
||||
on the node by installing the git versions into the tox virtualenv.
|
||||
|
||||
.. zuul:jobvar: tox_install_bindep
|
||||
:default: true
|
||||
|
||||
Whether or not to run the binary dependencies detection and
|
||||
installation with bindep.
|
||||
run: playbooks/tox/run.yaml
|
||||
pre-run: playbooks/tox/pre.yaml
|
||||
post-run: playbooks/tox/post.yaml
|
||||
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-py36
|
||||
parent: tox
|
||||
description: |
|
||||
Run unit tests for a Python project under cPython version 3.6.
|
||||
|
||||
Uses tox with the ``py36`` environment.
|
||||
vars:
|
||||
tox_envlist: py36
|
||||
|
||||
- job:
|
||||
name: tox-py37
|
||||
parent: tox
|
||||
description: |
|
||||
Run unit tests for a Python project under cPython version 3.7.
|
||||
|
||||
Uses tox with the ``py37`` environment.
|
||||
vars:
|
||||
tox_envlist: py37
|
||||
|
||||
- job:
|
||||
name: tox-docs
|
||||
# This is not parented to tox since we do not need
|
||||
# the roles from its parent unittests.
|
||||
description: |
|
||||
Run documentation unit tests.
|
||||
|
||||
Uses tox with the ``docs`` environment.
|
||||
vars:
|
||||
tox_envlist: docs
|
||||
bindep_profile: compile doc
|
||||
run: playbooks/tox/run.yaml
|
||||
pre-run:
|
||||
- playbooks/tox-docs/pre.yaml
|
||||
- playbooks/tox/pre.yaml
|
||||
post-run:
|
||||
- playbooks/tox/docs-post.yaml
|
||||
- playbooks/tox/post.yaml
|
||||
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-molecule
|
||||
parent: tox
|
||||
pre-run: playbooks/tox/pre-molecule.yaml
|
||||
description: |
|
||||
Runs Ansible molecule testing on a system where docker is available.
|
||||
|
||||
Uses tox with the ``molecule`` environment.
|
||||
vars:
|
||||
tox_envlist: molecule
|
||||
|
||||
- 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.
|
||||
post-run: playbooks/tox/cover-post.yaml
|
||||
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: tox-nodejs-npm
|
||||
parent: tox
|
||||
description: |
|
||||
Run tests using tox but with the javascript toolchain installed
|
||||
and available as well. A combination of the tox and nodejs-npm
|
||||
jobs. By default will run npm before running the tox environment listed.
|
||||
|
||||
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_constraints_file
|
||||
|
||||
Path to a pip constraints file. Will be provided to tox in the
|
||||
TOX_CONSTRAINTS_FILE environment variable if it exists.
|
||||
|
||||
.. zuul:jobvar: tox_install_siblings
|
||||
:default: true
|
||||
|
||||
Override tox requirements that have corresponding zuul git repos
|
||||
on the node by installing the git versions into the tox virtualenv.
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
pre-run: playbooks/javascript/pre.yaml
|
||||
run: playbooks/tox/npm.yaml
|
||||
post-run: playbooks/javascript/post.yaml
|
||||
vars:
|
||||
npm_command: build
|
||||
|
||||
- job:
|
||||
name: build-python-release
|
||||
description: |
|
||||
Build a source tarball and a bdist wheel for uploading.
|
||||
run: playbooks/python/release.yaml
|
||||
post-run: playbooks/python/tarball-post.yaml
|
||||
|
||||
- job:
|
||||
name: python-upload-pypi
|
||||
parent: build-python-release
|
||||
description: |
|
||||
Generate 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.yaml
|
||||
|
||||
- job:
|
||||
name: build-sphinx-docs
|
||||
description: |
|
||||
Build documentation using Sphinx
|
||||
|
||||
Additional requirements can be provided in a project in either the
|
||||
file ``doc/requirements.txt`` or ``test-requirements.txt``. (The first
|
||||
file found in that order will be the one used) Non-python distro
|
||||
requirements can be specified in ``bindep.txt`` using the ``doc`` tag.
|
||||
|
||||
Runs `whereto https://docs.openstack.org/whereto/latest/` after the build
|
||||
if it is installed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file for installing python
|
||||
libraries.
|
||||
|
||||
.. zuul:jobvar:: sphinx_python
|
||||
:default: python2
|
||||
|
||||
Version of python to use, either ``python2`` or ``python3``.
|
||||
|
||||
.. zuul:jobvar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
||||
success-url: html/
|
||||
pre-run: playbooks/sphinx/pre.yaml
|
||||
run: playbooks/sphinx/run.yaml
|
||||
post-run: playbooks/sphinx/post.yaml
|
||||
|
||||
- job:
|
||||
name: build-reno-releasenotes
|
||||
description: |
|
||||
Build releasenotes using reno
|
||||
|
||||
Additional requirements can be provided in a project in either the
|
||||
file ``doc/requirements.txt`` or ``test-requirements.txt``. (The first
|
||||
file found in that order will be the one used) Non-python distro
|
||||
requirements can be specified in ``bindep.txt`` using the ``doc`` tag.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file for installing python
|
||||
libraries.
|
||||
|
||||
.. zuul:jobvar:: sphinx_python
|
||||
:default: python2
|
||||
|
||||
Version of python to use, either ``python2`` or ``python3``.
|
||||
|
||||
.. zuul:jobvar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
||||
success-url: html/
|
||||
# Release notes always build on master.
|
||||
override-checkout: master
|
||||
pre-run: playbooks/releasenotes/pre.yaml
|
||||
run: playbooks/releasenotes/run.yaml
|
||||
post-run: playbooks/releasenotes/post.yaml
|
||||
files:
|
||||
- ^releasenotes/.*
|
||||
- bindep.txt
|
||||
- doc/requirements.txt
|
||||
- test-requirements.txt
|
||||
- tox.ini
|
||||
|
28
zuul.d/test-container-roles-jobs.yaml
Normal file
28
zuul.d/test-container-roles-jobs.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
# Jobs which test roles listed in container-roles.rst.
|
||||
|
||||
- job:
|
||||
name: zuul-jobs-test-registry
|
||||
description: |
|
||||
Test the intermediate registry roles.
|
||||
|
||||
This job tests changes to the intermediate registry roles. It
|
||||
is not meant to be used directly but rather run on changes to
|
||||
roles in the zuul-jobs repo.
|
||||
files:
|
||||
- roles/pull-from-intermediate-registry/.*
|
||||
- roles/push-to-intermediate-registry/.*
|
||||
- roles/install-docker/.*
|
||||
- roles/build-docker-image/.*
|
||||
- roles/run-buildset-registry/.*
|
||||
- roles/use-buildset-registry/.*
|
||||
- test-playbooks/registry/.*
|
||||
run:
|
||||
test-playbooks/registry/test-registry.yaml
|
||||
nodeset:
|
||||
nodes:
|
||||
- name: intermediate-registry
|
||||
label: ubuntu-bionic
|
||||
- name: executor
|
||||
label: ubuntu-bionic
|
||||
- name: builder
|
||||
label: ubuntu-bionic
|
670
zuul.yaml
670
zuul.yaml
@ -1,670 +0,0 @@
|
||||
# Shared jobs that are generally applicable to everyone
|
||||
# Assumes a 'base' job defined elsewhere
|
||||
|
||||
- job:
|
||||
name: dco-license
|
||||
description: |
|
||||
A job to validate all new commits have been signed using --signoff.
|
||||
run: playbooks/dco-license/run.yaml
|
||||
nodeset:
|
||||
nodes: []
|
||||
|
||||
- job:
|
||||
name: unittests
|
||||
abstract: true
|
||||
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.yaml
|
||||
post-run: playbooks/unittests/post.yaml
|
||||
|
||||
- job:
|
||||
name: build-docker-image
|
||||
description: |
|
||||
Build a docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
pre-run: playbooks/docker-image/pre.yaml
|
||||
run: playbooks/docker-image/run.yaml
|
||||
|
||||
- job:
|
||||
name: upload-docker-image
|
||||
parent: build-docker-image
|
||||
description: |
|
||||
Build and upload a docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
.. include:: ../../playbooks/docker-image/credentials.rst
|
||||
post-run: playbooks/docker-image/upload.yaml
|
||||
|
||||
- job:
|
||||
name: promote-docker-image
|
||||
description: |
|
||||
Retag a previously-uploaded docker image.
|
||||
|
||||
.. include:: ../../playbooks/docker-image/README.rst
|
||||
.. include:: ../../playbooks/docker-image/credentials.rst
|
||||
run: playbooks/docker-image/promote.yaml
|
||||
nodeset:
|
||||
nodes: []
|
||||
|
||||
- job:
|
||||
name: upload-git-mirror
|
||||
description: |
|
||||
Mirrors a tested project repository to a remote git server.
|
||||
|
||||
.. zuul:jobvar:: git_mirror_credentials
|
||||
:type: dict
|
||||
|
||||
This is expected to be a Zuul Secret with these keys:
|
||||
|
||||
.. zuul:jobvar:: user
|
||||
|
||||
SSH user for the remote git repository
|
||||
|
||||
.. zuul:jobvar:: host
|
||||
|
||||
SSH host for the remote git repository
|
||||
|
||||
.. zuul:jobvar:: ssh_key
|
||||
|
||||
Literal private key contents.
|
||||
Should start with something like ``-----BEGIN RSA PRIVATE KEY-----``.
|
||||
|
||||
.. zuul:jobvar:: host_key
|
||||
|
||||
SSH host key of the remote git server.
|
||||
Can be obtained with ``ssh-keyscan -H <host>``.
|
||||
|
||||
.. zuul:jobvar:: git_mirror_repository
|
||||
|
||||
Path of the remote git repository
|
||||
run: playbooks/upload-git-mirror/run.yaml
|
||||
|
||||
- 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_constraints_file
|
||||
|
||||
Path to a pip constraints file. Will be provided to tox in the
|
||||
TOX_CONSTRAINTS_FILE environment variable if it exists.
|
||||
|
||||
.. zuul:jobvar: tox_install_siblings
|
||||
:default: true
|
||||
|
||||
Override tox requirements that have corresponding zuul git repos
|
||||
on the node by installing the git versions into the tox virtualenv.
|
||||
|
||||
.. zuul:jobvar: tox_install_bindep
|
||||
:default: true
|
||||
|
||||
Whether or not to run the binary dependencies detection and
|
||||
installation with bindep.
|
||||
run: playbooks/tox/run.yaml
|
||||
pre-run: playbooks/tox/pre.yaml
|
||||
post-run: playbooks/tox/post.yaml
|
||||
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-py36
|
||||
parent: tox
|
||||
description: |
|
||||
Run unit tests for a Python project under cPython version 3.6.
|
||||
|
||||
Uses tox with the ``py36`` environment.
|
||||
vars:
|
||||
tox_envlist: py36
|
||||
|
||||
- job:
|
||||
name: tox-py37
|
||||
parent: tox
|
||||
description: |
|
||||
Run unit tests for a Python project under cPython version 3.7.
|
||||
|
||||
Uses tox with the ``py37`` environment.
|
||||
vars:
|
||||
tox_envlist: py37
|
||||
|
||||
- job:
|
||||
name: tox-docs
|
||||
# This is not parented to tox since we do not need
|
||||
# the roles from its parent unittests.
|
||||
description: |
|
||||
Run documentation unit tests.
|
||||
|
||||
Uses tox with the ``docs`` environment.
|
||||
vars:
|
||||
tox_envlist: docs
|
||||
bindep_profile: compile doc
|
||||
run: playbooks/tox/run.yaml
|
||||
pre-run:
|
||||
- playbooks/tox-docs/pre.yaml
|
||||
- playbooks/tox/pre.yaml
|
||||
post-run:
|
||||
- playbooks/tox/docs-post.yaml
|
||||
- playbooks/tox/post.yaml
|
||||
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-molecule
|
||||
parent: tox
|
||||
pre-run: playbooks/tox/pre-molecule.yaml
|
||||
description: |
|
||||
Runs Ansible molecule testing on a system where docker is available.
|
||||
|
||||
Uses tox with the ``molecule`` environment.
|
||||
vars:
|
||||
tox_envlist: molecule
|
||||
|
||||
- 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.
|
||||
post-run: playbooks/tox/cover-post.yaml
|
||||
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: tox-nodejs-npm
|
||||
parent: tox
|
||||
description: |
|
||||
Run tests using tox but with the javascript toolchain installed
|
||||
and available as well. A combination of the tox and nodejs-npm
|
||||
jobs. By default will run npm before running the tox environment listed.
|
||||
|
||||
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_constraints_file
|
||||
|
||||
Path to a pip constraints file. Will be provided to tox in the
|
||||
TOX_CONSTRAINTS_FILE environment variable if it exists.
|
||||
|
||||
.. zuul:jobvar: tox_install_siblings
|
||||
:default: true
|
||||
|
||||
Override tox requirements that have corresponding zuul git repos
|
||||
on the node by installing the git versions into the tox virtualenv.
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
pre-run: playbooks/javascript/pre.yaml
|
||||
run: playbooks/tox/npm.yaml
|
||||
post-run: playbooks/javascript/post.yaml
|
||||
vars:
|
||||
npm_command: build
|
||||
|
||||
- job:
|
||||
name: build-python-release
|
||||
description: |
|
||||
Build a source tarball and a bdist wheel for uploading.
|
||||
run: playbooks/python/release.yaml
|
||||
post-run: playbooks/python/tarball-post.yaml
|
||||
|
||||
- job:
|
||||
name: python-upload-pypi
|
||||
parent: build-python-release
|
||||
description: |
|
||||
Generate 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.yaml
|
||||
|
||||
- job:
|
||||
name: build-sphinx-docs
|
||||
description: |
|
||||
Build documentation using Sphinx
|
||||
|
||||
Additional requirements can be provided in a project in either the
|
||||
file ``doc/requirements.txt`` or ``test-requirements.txt``. (The first
|
||||
file found in that order will be the one used) Non-python distro
|
||||
requirements can be specified in ``bindep.txt`` using the ``doc`` tag.
|
||||
|
||||
Runs `whereto https://docs.openstack.org/whereto/latest/` after the build
|
||||
if it is installed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file for installing python
|
||||
libraries.
|
||||
|
||||
.. zuul:jobvar:: sphinx_python
|
||||
:default: python2
|
||||
|
||||
Version of python to use, either ``python2`` or ``python3``.
|
||||
|
||||
.. zuul:jobvar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
||||
success-url: html/
|
||||
pre-run: playbooks/sphinx/pre.yaml
|
||||
run: playbooks/sphinx/run.yaml
|
||||
post-run: playbooks/sphinx/post.yaml
|
||||
|
||||
- job:
|
||||
name: build-reno-releasenotes
|
||||
description: |
|
||||
Build releasenotes using reno
|
||||
|
||||
Additional requirements can be provided in a project in either the
|
||||
file ``doc/requirements.txt`` or ``test-requirements.txt``. (The first
|
||||
file found in that order will be the one used) Non-python distro
|
||||
requirements can be specified in ``bindep.txt`` using the ``doc`` tag.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file for installing python
|
||||
libraries.
|
||||
|
||||
.. zuul:jobvar:: sphinx_python
|
||||
:default: python2
|
||||
|
||||
Version of python to use, either ``python2`` or ``python3``.
|
||||
|
||||
.. zuul:jobvar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
||||
success-url: html/
|
||||
# Release notes always build on master.
|
||||
override-checkout: master
|
||||
pre-run: playbooks/releasenotes/pre.yaml
|
||||
run: playbooks/releasenotes/run.yaml
|
||||
post-run: playbooks/releasenotes/post.yaml
|
||||
files:
|
||||
- ^releasenotes/.*
|
||||
- bindep.txt
|
||||
- doc/requirements.txt
|
||||
- test-requirements.txt
|
||||
- tox.ini
|
||||
|
||||
- job:
|
||||
name: multinode
|
||||
abstract: true
|
||||
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.yaml
|
||||
|
||||
- job:
|
||||
name: nodejs-npm
|
||||
parent: unittests
|
||||
description: |
|
||||
Base job for javascript operations
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
pre-run: playbooks/javascript/pre.yaml
|
||||
run: playbooks/javascript/run.yaml
|
||||
post-run: playbooks/javascript/post.yaml
|
||||
vars:
|
||||
npm_command: build
|
||||
|
||||
- job:
|
||||
name: build-javascript-tarball
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build a source tarball for a Javascript project
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
vars:
|
||||
npm_command: pack
|
||||
|
||||
- job:
|
||||
name: build-javascript-content
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build javascript web content as it should be deployed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
success-url: npm/html/
|
||||
|
||||
- job:
|
||||
name: build-javascript-content-tarball
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Build an archive of javascript web content as it should be deployed.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: npm_command
|
||||
:default: build
|
||||
|
||||
Command to pass to npm.
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
|
||||
.. zuul:jobvar: create_tarball_directory
|
||||
|
||||
Create a tarball with the contents of
|
||||
create_tarball_directory (relative to zuul_work_dir).
|
||||
post-run: playbooks/javascript/tarball.yaml
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-test
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run test using nodejs. This test also starts Xvfb for run time
|
||||
tests.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
pre-run: playbooks/javascript/pre-test.yaml
|
||||
vars:
|
||||
npm_command: test
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-lint
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run lint using nodejs.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
|
||||
.. zuul:jobvar: javascript_content_dir
|
||||
:default: dist
|
||||
|
||||
Directory, relative to zuul_work_dir, holding build content.
|
||||
vars:
|
||||
npm_command: lint
|
||||
|
||||
- job:
|
||||
name: nodejs-npm-run-docs
|
||||
parent: nodejs-npm
|
||||
description: |
|
||||
Run docs using nodejs.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: node_version
|
||||
:default: 6
|
||||
|
||||
The version of Node to use.
|
||||
|
||||
.. zuul:jobvar: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Path to operate in.
|
||||
post-run: playbooks/tox/docs-post.yaml
|
||||
success-url: html/
|
||||
vars:
|
||||
npm_command: docs
|
||||
|
||||
- job:
|
||||
name: run-test-command
|
||||
parent: unittests
|
||||
description: |
|
||||
Run simple command as test.
|
||||
|
||||
To use this, set the ``test_command`` variable to a single command or
|
||||
a list of commands. For complex list of commands, it is recommended to
|
||||
use a single command that run a proper script.
|
||||
run: playbooks/run-test-command/run.yaml
|
||||
vars:
|
||||
test_command: "exit 1"
|
||||
|
||||
- job:
|
||||
name: validate-zone-db
|
||||
parent: base
|
||||
description: |
|
||||
Validate zone.db files in project.
|
||||
|
||||
Responds to these variables:
|
||||
|
||||
.. zuul:jobvar:: zone_files
|
||||
:default: {{ ansible_user_dir }}/{{ zuul.project.src_dir }}
|
||||
|
||||
Search for zone.db files recursively in this directory.
|
||||
Format should be domain.xyz/zone.db, where the parent
|
||||
directory is named for the zone described.
|
||||
|
||||
.. zuul:jobvar:: zone_db_list
|
||||
:default: []
|
||||
|
||||
Override the default searching above with explicit
|
||||
domain/path references (see validate-zone-db role)
|
||||
run: playbooks/validate-zone-db/run.yaml
|
||||
|
||||
- job:
|
||||
name: zuul-jobs-test-registry
|
||||
description: |
|
||||
Test the intermediate registry roles.
|
||||
|
||||
This job tests changes to the intermediate registry roles. It
|
||||
is not meant to be used directly but rather run on changes to
|
||||
roles in the zuul-jobs repo.
|
||||
files:
|
||||
- roles/pull-from-intermediate-registry/.*
|
||||
- roles/push-to-intermediate-registry/.*
|
||||
- roles/install-docker/.*
|
||||
- roles/build-docker-image/.*
|
||||
- roles/run-buildset-registry/.*
|
||||
- roles/use-buildset-registry/.*
|
||||
- test-playbooks/registry/.*
|
||||
run:
|
||||
test-playbooks/registry/test-registry.yaml
|
||||
nodeset:
|
||||
nodes:
|
||||
- name: intermediate-registry
|
||||
label: ubuntu-bionic
|
||||
- name: executor
|
||||
label: ubuntu-bionic
|
||||
- name: builder
|
||||
label: ubuntu-bionic
|
Loading…
Reference in New Issue
Block a user