7bc805ef08
Adds descriptions and avoid twine check failure when the sdist package was build via python3. It seems that sdist command produce different packages in this unique case where Description field becomes False instead of UNKNOWN. This also adds new dist tox targets that tests that packaging works well. On CI we have diffent job that does almost the same thing. Change-Id: I93300e49b80fc170c1b73ffb5540cd42754e6a21
72 lines
1.9 KiB
INI
72 lines
1.9 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
envlist = py27,py35,py36,linters,dist
|
|
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
|
|
|
|
[testenv:linters]
|
|
# py3 linters are able to stop more than py2 ones
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
bash -c "cd ansible; find . -type f -regex '.*.y[a]?ml' -print0 | xargs -t -n1 -0 \
|
|
ansible-lint \
|
|
-x ANSIBLE0012,ANSIBLE0006,ANSIBLE0007,ANSIBLE0016,ANSIBLE0019" \
|
|
--exclude=rally
|
|
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]
|
|
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:pep8]
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:py36]
|
|
basepython = python3.6
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py test --coverage --testr-args='{posargs}'
|
|
|
|
[testenv:docs]
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[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,.perfkit-venv,.rally-venv,.shaker-venv
|