dd5a24037d
This review allows this repo to pass zuul. When tox is run locally it pulls in an older bashate 0.6.0 but the zuul jobs are pulling in the higher version. Bashate 2.1.1 was releated Oct 6, 2022 Changed the upper constraints to allow developers to pull in dependencies that are more aligned with zuul. Fixed the new bashate error. Also cleaned up the yamllint syntax. Closes-Bug: 1991971 Signed-off-by: Al Bailey <al.bailey@windriver.com> Change-Id: I9cda349a20c63f9d222a3c3fc3645c5ceb4c2751
116 lines
3.2 KiB
INI
116 lines
3.2 KiB
INI
[tox]
|
|
envlist = linters,pep8,pylint
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
install_command = pip install \
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \
|
|
{opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=60
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = reno
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
#bashate ignore errors
|
|
#E010: do not on the same line as for
|
|
#E006 Line too long
|
|
commands =
|
|
bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
\( \
|
|
-name \*.sh \
|
|
-or -not -wholename \*/devstack/files/\* \
|
|
-wholename \*/devstack/\* \
|
|
\) \
|
|
-print0 | xargs -r -n 1 -0 bashate -v -i E010,E006"
|
|
bash -c "find {toxinidir} \
|
|
-name .tox -prune \
|
|
-o -type f -name '*.yaml' \
|
|
-print0 | xargs -0 yamllint -f parsable"
|
|
|
|
[testenv:pylint]
|
|
basepython = python3
|
|
usedevelop = False
|
|
description =
|
|
Pylint check
|
|
deps = {[testenv]deps}
|
|
redfish
|
|
pylint
|
|
commands =
|
|
pylint {posargs} --rcfile=./pylint.rc \
|
|
tools/rvmc/docker/rvmc.py \
|
|
mtce/src/hwmon/scripts/hwmond_notify.py
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
usedevelop = False
|
|
deps =
|
|
flake8
|
|
description =
|
|
Run style checks
|
|
commands =
|
|
flake8
|
|
# hacking can be added for additional pep8 once this passes for all metal
|
|
|
|
[flake8]
|
|
show-source = True
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
|
|
# W504 line break after binary operator
|
|
# H102 Apache License format
|
|
ignore = W504,H102
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf doc/build
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
deps = -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
|
|
whitelist_externals = rm
|
|
|
|
[testenv:newnote]
|
|
basepython = python3
|
|
# Re-use the releasenotes venv
|
|
envdir = {toxworkdir}/releasenotes
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = reno new {posargs}
|
|
|
|
[testenv:api-ref]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:functional]
|
|
basepython = python3
|
|
whitelist_externals = cat
|
|
commands = cat /etc/mtc.ini
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
description = Bandit code scan for *.py files under config folder
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r {toxinidir}/ -x '**/.tox/**,**/.eggs/**' -lll
|