Python Jobs

tox

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

Use the specified tox environments (ALL selects all).

tox_environment
Type: dict

Environment variables to pass in to the tox run.

tox_extra_args

String containing extra arguments to append to the tox command line.

tox_constraints_file

Path to a pip constraints file. Will be provided to tox in the TOX_CONSTRAINTS_FILE environment variable if it exists.

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.

tox_install_bindep
Default: true

Whether or not to run the binary dependencies detection and installation with bindep.

tox-fips

Base job containing setup and teardown for fips and tox-based test jobs.

This performs basic host and general project setup tasks common to all tox unit test jobs related to fips.

Responds to these variables:

tox_envlist

Use the specified tox environments (ALL selects all).

tox_environment
Type: dict

Environment variables to pass in to the tox run.

tox_extra_args

String containing extra arguments to append to the tox command line.

tox_constraints_file

Path to a pip constraints file. Will be provided to tox in the TOX_CONSTRAINTS_FILE environment variable if it exists.

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.

tox_install_bindep
Default: true

Whether or not to run the binary dependencies detection and installation with bindep.

tox-py27

Run unit tests for a Python project under cPython version 2.7.

Uses tox with the py27 environment.

tox-py36

Run unit tests for a Python project under cPython version 3.6.

Uses tox with the py36 environment.

tox-py37

Run unit tests for a Python project under cPython version 3.7.

Uses tox with the py37 environment.

tox-py38

Run unit tests for a Python project under cPython version 3.8.

Uses tox with the py38 environment.

tox-py39

Run unit tests for a Python project under cPython version 3.9.

Uses tox with the py39 environment.

tox-py310

Run unit tests for a Python project under cPython version 3.10.

Uses tox with the py310 environment.

tox-py311

Run unit tests for a Python project under cPython version 3.11.

Uses tox with the py311 environment.

tox-py312

Run unit tests for a Python project under cPython version 3.12.

Uses tox with the py312 environment.

tox-docs

Run documentation unit tests.

Uses tox with the docs environment.

tox-linters

Runs code linting tests.

Uses tox with the linters environment.

tox-molecule

Runs Ansible molecule testing on a system where docker is available.

Uses tox with the molecule environment.

tox-pep8

Runs code pep8 tests.

Uses tox with the pep8 environment.

tox-cover

Run code coverage tests.

Uses tox with the cover environment.

tox-bashate

Run bashate tests.

Uses tox with the bashate environment.

tox-nodejs-npm

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:

tox_envlist

Use the specified tox environments (ALL selects all).

tox_environment
Type: dict

Environment variables to pass in to the tox run.

tox_extra_args

String containing extra arguments to append to the tox command line.

tox_constraints_file

Path to a pip constraints file. Will be provided to tox in the TOX_CONSTRAINTS_FILE environment variable if it exists.

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.

npm_command
Default: build

Command to pass to npm.

node_version
Default: 14

The version of Node to use.

javascript_content_dir
Default: dist

Directory, relative to zuul_work_dir, holding build content.

zuul_work_dir
Default: {{ zuul.project.src_dir }}

Path to operate in.

nox

Base job containing setup and teardown for nox-based test jobs.

This performs basic host and general project setup tasks common to all nox unit test jobs.

Responds to these variables:

nox_session

Use the specified nox sessions

nox_keyword

Use the specified nox keyword

nox_tag

Use the specified nox tag

nox_force_python

Force nox to run the selected sessions under this version of python.

nox_config_file

Override the default noxfile.py configuration path.

nox_environment
Type: dict

Environment variables to pass in to the nox run. Nox behaves differently when CI=1 is set. Consider setting this if you override the role defaults.

nox_extra_args

String containing extra arguments to append to the nox command line.

nox_constraints_file

Path to a pip constraints file. Will be provided to nox in the NOX_CONSTRAINTS_FILE environment variable if it exists.

nox_install_siblings
Default: true

Override nox requirements that have corresponding zuul git repos on the node by installing the git versions into the nox virtualenv.

nox_install_bindep
Default: true

Whether or not to run the binary dependencies detection and installation with bindep.

nox-py36

Run unit tests for a Python project under cPython version 3.6.

Uses nox with the test keyword forcing python 3.6.

nox-py37

Run unit tests for a Python project under cPython version 3.7.

Uses nox with the test keyword forcing python 3.7.

nox-py38

Run unit tests for a Python project under cPython version 3.8.

Uses nox with the test keyword forcing python 3.8.

nox-py39

Run unit tests for a Python project under cPython version 3.9.

Uses nox with the test keyword forcing python 3.9.

nox-py310

Run unit tests for a Python project under cPython version 3.10.

Uses nox with the test keyword forcing python 3.10.

nox-py311

Run unit tests for a Python project under cPython version 3.11.

Uses nox with the test keyword forcing python 3.11.

nox-py312

Run unit tests for a Python project under cPython version 3.12.

Uses nox with the test keyword forcing python 3.12.

nox-docs

Run documentation unit tests.

Uses nox with the docs keyword.

nox-linters

Runs code linting tests.

Uses nox with the linters keyword.

nox-cover

Run code coverage tests.

Uses nox with the cover keyword.

build-python-release

Build a source tarball and a bdist wheel for uploading.

python-upload-pypi

Generate and upload a python source tarball and binary wheel

Requires a variable pypi_info be set which is a dict containing authentication values. See https://zuul-ci.org/docs/zuul-jobs/python-roles.html#role-upload-pypi

build-sphinx-docs

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:

constraints_file

Optional path to a pip constraints file for installing python libraries.

sphinx_python
Default: python2

Version of python to use, either python2 or python3.

zuul_work_dir
Default: {{ zuul.project.src_dir }}

Directory to operate in.

build-reno-releasenotes

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:

constraints_file

Optional path to a pip constraints file for installing python libraries.

sphinx_python
Default: python2

Version of python to use, either python2 or python3.

zuul_work_dir
Default: {{ zuul.project.src_dir }}

Directory to operate in.