Sorin Sbarnea e15a54bdc3 enable cross testing with jenkins-job-builder
Adds a new job that tests if change affects jenkins-job-builder
master branch in order to avoid introducing breaking changes
in the most important consumer of the this library.

Also adds an optional tox target named tips which can be used
by developers to perform the same kind of testing. This
mimics the same kind of testing that was already implemented
inside jenkins-job-builder.

Change-Id: I594347c431a881227c5090b41b4ba4ef50e3133f
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-04-13 16:49:18 +01:00

65 lines
1.9 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py{34,27,35}, pep8, pypy
[testenv]
setenv =
PYTHONDONTWRITEBYTECODE=1
VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
commands =
- find . -type f -name "*.pyc" -delete
- find . -type d -name "__pycache__" -delete
stestr run --slowest {posargs}
whitelist_externals =
bash
find
[testenv:tips]
# tests what happens with unreleased version of dependencies, like jenkins-job-builder
install_command = pip install -U {opts} {packages}
commands =
bash -c "if [ -d {toxinidir}/../jenkins-job-builder ]; then \
pip install -q -U -e 'git+file://{toxinidir}/../jenkins-job-builder#egg=jenkins-job-builder' ; else \
pip install -q -U -e 'git+https://git.openstack.org/openstack-infra/jenkins-job-builder@master#egg=jenkins-job-builder' ; fi "
stestr run --slowest {posargs}
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source jenkins --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:pep8]
commands = flake8
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:venv]
commands = {posargs}
[flake8]
; E501 line too long (80 > 79 characters)
; H301 one import per line
; H405 multi line docstring summary not separated with an empty line
; H501 Do not use locals() for string formatting
ignore = E501,H301,H405,H501
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test