pegleg/tox.ini
Sergiy Markin 457b10ad13 Treasuremap references update
Also fixed readthedocs publishing and pumped up
docker Pypi module version and updated docs
generation code caused by deprecated properties in
recent version of Sphinx.

Change-Id: Idc69d0e6a06ba6d931acacbd22df076d01901ed0
2024-10-08 22:24:40 +00:00

141 lines
3.2 KiB
INI

[tox]
envlist = py310,pep8,docs,cover
minversion = 2.38.0
skipsdist = True
[testenv]
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
LANGUAGE=en_US
LC_ALL=en_US.utf-8
PIPENV_VERBOSITY=-1
PIPENV_IGNORE_PIPFILE=1
deps=
-r{toxinidir}/requirements-frozen.txt
-r{toxinidir}/test-requirements.txt
passenv =
http_proxy
https_proxy
HTTP_PROXY
HTTPS_PROXY
no_proxy
NO_PROXY
PBR_VERSION
allowlist_externals =
bash
find
commands =
find . -type f -name "*.pyc" -delete
bash -c "{toxinidir}/tools/install-cfssl.sh"
bash -c "{toxinidir}/tools/gate/run-unit-tests.sh '{posargs}'"
[testenv:py310]
allowlist_externals =
bash
find
commands =
{[testenv]commands}
[testenv:fmt]
basepython = python3
commands =
yapf -ir {toxinidir}/pegleg {toxinidir}/tests
allowlist_externals =
yapf
[testenv:pep8]
basepython = python3
command =
bash -c "{toxinidir}/tools/gate/whitespace-linter.sh"
bandit --skip B105 -r pegleg -n 5
flake8 {toxinidir}/pegleg
yapf -dr {toxinidir}/pegleg {toxinidir}/tests
allowlist_externals =
bash
bandit
flake8
yapf
find
[testenv:docs]
basepython = python3
deps=
-r{toxinidir}/requirements-frozen.txt
-r{toxinidir}/doc/requirements.txt
commands =
bash -c "{toxinidir}/tools/gate/build-docs.sh"
allowlist_externals =
bash
[testenv:bandit]
basepython = python3
commands = bandit --skip B105 -r pegleg -n 5
[testenv:safety]
basepython = python3
deps =
safety
commands =
safety check -r {toxinidir}/requirements-frozen.txt -r {toxinidir}/doc/requirements.txt --full-report
[testenv:cover]
basepython = python3
commands =
find . -type f -name "*.pyc" -delete
bash -c "{toxinidir}/tools/install-cfssl.sh"
bash -c "{toxinidir}/tools/gate/run-cover-tests.sh '{posargs}'"
allowlist_externals =
bash
find
[testenv:freeze]
recreate = True
allowlist_externals=
rm
sh
deps=
-r{toxinidir}/requirements-direct.txt
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.10.2/constraints-3.10.txt
commands=
rm -f {toxinidir}/requirements-frozen.txt
sh -c "pip freeze --all | grep -vE 'pegleg|pyinotify|pkg-resources' > requirements-frozen.txt"
[testenv:releasenotes]
basepython = python3
deps=
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
allowlist_externals =
rm
[testenv:venv]
commands = {posargs}
[flake8]
filename = *.py
show-source = true
# [H106] Don't put vim configuration in source files.
# [H201] No 'except:' at least use 'except Exception:'
# [H904] Delay string interpolations at logging calls.
enable-extensions = H106,H201,H904
# TODO(lamt) Clean up these docstring violations if possible
# [H403] multi line docstrings should end on a new line
# [H404] multi line docstring should start without a leading new line
# [H405] multi line docstring summary not separated with an empty line
# [W503] line break before binary operator
ignore = H403,H404,H405,W503
exclude=.venv,.git,.tox,build,dist,*lib/python*,*egg,tools,*.ini,*.po,*.pot
max-complexity = 24
application-import-names = pegleg
application-package-names = deckhand,promenade,shipyard
import-order-style = pep8