75cb349622
This commit introduces a new Zuul job, stx-distcloud-tox-black, and a corresponding black_check tox environment to ensure Python files are formatted with Black. Initially, the black_check environment will check the formatting of specified modules[1]. As modules are progressively formatted, the configuration will be updated to enforce Black formatting on these modules. During this transition, the job will only fail for modules that have been updated to comply with Black formatting. Eventually, the environment will be configured to check the entire project, ensuring consistent code style across all files. 1: Check `modules` in run_black.py script. Note: Once all modules are formatted, run_black.py will be deleted. Test Plan: PASS - Success in stx-distcloud-tox-black Story: 2011149 Task: 50432 Change-Id: I8a8044d44b85679cf5e71106784c192ef343f5b6 Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
79 lines
2.2 KiB
INI
79 lines
2.2 KiB
INI
[tox]
|
|
envlist = linters
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
install_command = pip install -v -v -v \
|
|
-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
|
|
CURRENT_CFG_FILE={toxinidir}/.current.cfg
|
|
commands = find {toxinidir} -type f -not -path '{toxinidir}/.tox/*' -not -path '*/__pycache__/*' -name '*.py[c|o]' -delete
|
|
|
|
allowlist_externals =
|
|
rm
|
|
find
|
|
reno
|
|
|
|
[testenv:pep8]
|
|
description = Dummy environment to allow pep8 to be run in subdir tox
|
|
|
|
[testenv:pylint]
|
|
description = Dummy environment to allow pylint to be run in subdir tox
|
|
|
|
[testenv:black]
|
|
description = Dummy environment to allow black to be run in subdir tox
|
|
|
|
[testenv:docs]
|
|
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
|
|
|
|
[testenv:releasenotes]
|
|
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
|
|
|
|
[testenv:newnote]
|
|
# Re-use the releasenotes venv
|
|
envdir = {toxworkdir}/releasenotes
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = reno --rel-notes-dir {toxinidir}/releasenotes new {posargs}
|
|
|
|
[testenv:api-ref]
|
|
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
|
|
|
|
[bandit]
|
|
# The following bandit tests are being skipped:
|
|
# B605: Test for starting a process with a shell
|
|
#
|
|
# Note: 'skips' entry cannot be split across multiple lines
|
|
#
|
|
skips = B605
|
|
exclude = tests
|
|
|
|
[testenv:bandit]
|
|
description = Bandit code scan for *.py files under config folder
|
|
deps = bandit
|
|
commands = bandit --ini tox.ini -r {toxinidir}/ -x '**/.tox/**,**/.eggs/**' -lll
|
|
|
|
[testenv:linters]
|
|
allowlist_externals = bash
|
|
deps = yamllint
|
|
commands =
|
|
bash -c "find {toxinidir} \
|
|
\( -name .tox -prune \) \
|
|
-o -type f -name '*.yaml' \
|
|
-print0 | xargs -r -0 yamllint"
|