4403a163d4
Pre-commit was added to run all of the lint jobs via tox. Because this change now enforces the linters, the modules and playbooks have been updated so they're able to pass the checks. > Several excludes and lint ommisions have been added to the pre-commit config. These were added because the current code can not pass the basic checks in its present state. In a future PR updates will be made to the playbooks and modules and these ommissions will be removed. The goal of this PR is to ensure some checks are running and lay the ground work for future structural changes. Change-Id: If2095741dd0e977de71f8110307aef92d4f3676c Signed-off-by: Kevin Carter <kecarter@redhat.com>
84 lines
2.4 KiB
INI
84 lines
2.4 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
envlist = docs, linters
|
|
skipdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} {opts} {packages}
|
|
passenv = *
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
ANSIBLE_ACTION_PLUGINS={toxinidir}/tripleo_ansible/ansible_plugins/action
|
|
ANSIBLE_CALLBACK_PLUGINS={toxinidir}/tripleo_ansible/ansible_plugins/callback
|
|
ANSIBLE_FILTER_PLUGINS={toxinidir}/tripleo_ansible/ansible_plugins/filter
|
|
ANSIBLE_LIBRARY={toxinidir}/tripleo_ansible/ansible_plugins/modules
|
|
ANSIBLE_MODULE_UTILS={toxinidir}/tripleo_ansible/ansible_plugins/module_utils
|
|
ANSIBLE_ROLES_PATH={toxinidir}/tripleo_ansible/roles
|
|
deps = -r {toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:pep8]
|
|
envdir = {toxworkdir}/linters
|
|
commands =
|
|
python -m pre_commit run flake8 -a
|
|
|
|
[testenv:ansible-lint]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
bash -c "ansible-galaxy install -fr {toxinidir}/tripleo_ansible/ansible-role-requirements.yml"
|
|
python -m pre_commit run ansible-lint -a
|
|
|
|
[testenv:yamllint]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run yamllint -a
|
|
|
|
[testenv:bashate]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run bashate -a
|
|
|
|
[testenv:whitespace]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run trailing-whitespace -a
|
|
|
|
[testenv:shebangs]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run check-executables-have-shebangs -a
|
|
|
|
[testenv:linters]
|
|
deps =
|
|
-r {toxinidir}/test-requirements.txt
|
|
-r {toxinidir}/requirements.txt
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
{[testenv:ansible-lint]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:yamllint]commands}
|
|
{[testenv:whitespace]commands}
|
|
{[testenv:shebangs]commands}
|
|
|
|
[testenv:releasenotes]
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "ci-scripts/releasenotes_tox.sh"
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|