Simplify the setup of a development environment and update the documentation appropriately
160 lines
3.5 KiB
INI
160 lines
3.5 KiB
INI
# Tox configuration file
|
|
#
|
|
# For more information, see https://tox.readthedocs.org
|
|
#
|
|
# Run it with
|
|
# a) all targets
|
|
# $ tox
|
|
#
|
|
# b) with specific targets (build only documentation):
|
|
# $ tox -e doc
|
|
#
|
|
|
|
[tox]
|
|
skip_missing_interpreters = True
|
|
skipsdist = True
|
|
envlist =
|
|
check,
|
|
unit_py3_7,
|
|
unit_py3_6,
|
|
packagedoc,
|
|
devel
|
|
|
|
|
|
[testenv]
|
|
whitelist_externals = *
|
|
basepython =
|
|
{check,devel,packagedoc,doc,doc_travis}: python3
|
|
unit_py3_7: python3.7
|
|
unit_py3_6: python3.6
|
|
envdir =
|
|
{check,devel,packagedoc,doc,doc_travis}: {toxworkdir}/3
|
|
unit_py3_7: {toxworkdir}/3.7
|
|
unit_py3_6: {toxworkdir}/3.6
|
|
passenv =
|
|
*
|
|
usedevelop = True
|
|
deps =
|
|
-r.virtualenv.dev-requirements.txt
|
|
|
|
|
|
# Unit Test run with basepython set to 3.6
|
|
[testenv:unit_py3_6]
|
|
skip_install = True
|
|
usedevelop = True
|
|
setenv =
|
|
PYTHONPATH={toxinidir}/test
|
|
PYTHONUNBUFFERED=yes
|
|
WITH_COVERAGE=yes
|
|
passenv =
|
|
*
|
|
deps = {[testenv]deps}
|
|
changedir=test/unit
|
|
commands =
|
|
bash -c 'cd ../../ && ./setup.py develop'
|
|
pytest --no-cov-on-fail --cov=kiwi \
|
|
--cov-report=term-missing \
|
|
--cov-fail-under=100 --cov-config .coveragerc {posargs}
|
|
|
|
|
|
# Unit Test run with basepython set to 3.7
|
|
[testenv:unit_py3_7]
|
|
skip_install = True
|
|
usedevelop = True
|
|
setenv =
|
|
PYTHONPATH={toxinidir}/test
|
|
PYTHONUNBUFFERED=yes
|
|
WITH_COVERAGE=yes
|
|
passenv =
|
|
*
|
|
deps = {[testenv]deps}
|
|
changedir=test/unit
|
|
commands =
|
|
bash -c 'cd ../../ && ./setup.py develop'
|
|
pytest --doctest-modules --no-cov-on-fail --cov=kiwi \
|
|
--cov-report=term-missing --cov-fail-under=100 \
|
|
--cov-config .coveragerc {posargs}
|
|
|
|
|
|
# Documentation build run suitable for doc deployment in package(rpm)
|
|
[testenv:packagedoc]
|
|
skip_install = True
|
|
usedevelop = True
|
|
deps = {[testenv]deps}
|
|
changedir=doc
|
|
commands =
|
|
{[testenv:doc.latexpdf]commands}
|
|
{[testenv:doc.man]commands}
|
|
|
|
|
|
# Complete documentation build run, collection of all doc.X targets
|
|
[testenv:doc]
|
|
skip_install = True
|
|
usedevelop = True
|
|
deps = {[testenv]deps}
|
|
changedir=doc
|
|
commands =
|
|
{[testenv:doc.html]commands}
|
|
{[testenv:doc.man]commands}
|
|
{[testenv:doc.schema]commands}
|
|
|
|
|
|
# Documentation build suitable for doc deployment in travis env
|
|
[testenv:doc_travis]
|
|
skip_install = True
|
|
usedevelop = True
|
|
deps = {[testenv:doc]deps}
|
|
changedir=doc
|
|
commands =
|
|
{[testenv:doc.man]commands}
|
|
travis-sphinx --outdir build_travis build --nowarn --source ./source
|
|
bash -c 'touch ./build_travis/.nojekyll'
|
|
bash -c 'cp -a ./source/development/schema/images ./build_travis/development'
|
|
|
|
|
|
# Documentation build html result
|
|
[testenv:doc.html]
|
|
skip_install = True
|
|
deps = {[testenv:doc]deps}
|
|
changedir=doc
|
|
commands =
|
|
make html
|
|
|
|
|
|
# Documentation build PDF result
|
|
[testenv:doc.latexpdf]
|
|
skip_install = True
|
|
deps = {[testenv:doc]deps}
|
|
changedir=doc
|
|
commands =
|
|
make latexpdf
|
|
|
|
|
|
# Documentation build man pages
|
|
[testenv:doc.man]
|
|
skip_install = True
|
|
deps = {[testenv:doc]deps}
|
|
changedir=doc
|
|
commands =
|
|
make man
|
|
|
|
|
|
# Documentation build schema documentation
|
|
[testenv:doc.schema]
|
|
skip_install = True
|
|
deps = {[testenv:doc]deps}
|
|
commands =
|
|
bash -c 'cd {toxinidir}/helper && ./schema_docs.sh'
|
|
|
|
|
|
# Source code quality/integrity check
|
|
[testenv:check]
|
|
deps = {[testenv]deps}
|
|
skip_install = True
|
|
usedevelop = True
|
|
commands =
|
|
flake8 --statistics -j auto --count {toxinidir}/kiwi
|
|
flake8 --statistics -j auto --count {toxinidir}/test/unit
|
|
bash -c 'shellcheck -e SC1091,SC1090,SC2001,SC2174,SC1117 {toxinidir}/dracut/modules.d/*/* -s bash'
|
|
bash -c 'shellcheck -e SC1091,SC1090,SC2001,SC2174,SC1117 {toxinidir}/kiwi/config/functions.sh -s bash'
|