91 lines
2.1 KiB
INI
91 lines
2.1 KiB
INI
[tox]
|
|
minversion = 3.1.1
|
|
envlist = py27,py37,linters,dist,insights,molecule
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py test
|
|
whitelist_externals =
|
|
bash
|
|
rm
|
|
|
|
[testenv:linters]
|
|
# py3 linters are able to stop more than py2 ones
|
|
basepython = python3
|
|
|
|
extras = insights
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
python -m pre_commit run -a
|
|
pykwalify -d browbeat-config.yaml -s browbeat/schema/browbeat.yml
|
|
pykwalify -d browbeat-complete.yaml -s browbeat/schema/browbeat.yml
|
|
bash -c "set -e; for config in $(ls conf/); do \
|
|
echo conf/$config; pykwalify -d conf/$config -s browbeat/schema/browbeat.yml; done"
|
|
{[testenv:dist]commands}
|
|
|
|
[testenv:dist]
|
|
basepython = python3
|
|
# reuse linters environment to lower footprint on dev machines
|
|
envdir = {toxworkdir}/linters
|
|
# test that we can build a valid package
|
|
commands =
|
|
python setup.py sdist bdist_wheel
|
|
python -m twine check dist/*
|
|
|
|
[testenv:insights]
|
|
commands =
|
|
pip check
|
|
pip install .[insights]
|
|
pip check
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:py37]
|
|
basepython = python3.7
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py test --coverage --testr-args={posargs}
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:debug]
|
|
basepython = python3
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:publish]
|
|
envdir = {toxworkdir}/py27
|
|
commands =
|
|
rm -rf dist/*
|
|
rm -rf build/*
|
|
python setup.py sdist bdist_wheel
|
|
twine upload dist/*
|
|
|
|
[testenv:molecule]
|
|
commands = {toxinidir}/ci-scripts/molecule/test-molecule.sh
|
|
|
|
[flake8]
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
show-source = True
|
|
ignore = E123,E125,E226,E302,E41,E231,E203,H233,H306,H238,H236,H404,H405,W504
|
|
max-line-length = 100
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible/*,.browbeat-venv,.rally-venv,.shaker-venv,browbeat-containers/*
|