[tox] basepython = py36 minversion = 2.5 skipsdist = true envlist = ansible-lint, shellcheck, yamllint, docs install_command = pip install --force-reinstall {opts} {packages} deps = -r{toxinidir}/test-requirements.txt [testenv:ansible-lint] description = invoke ansible-lint to analyse Ansible playbooks and roles deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash commands = bash -c "find {toxinidir} -type f -regex '.*.ya?ml' \ ! -regex '.*heat-template.*\|.*.tox.*\|.*.venv.*' \ -print0 | xargs -t -n1 -0 ansible-lint --nocolor" [testenv:yamllint] description = invoke yamllint to analyse YAML files deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash commands = bash -c "find {toxinidir} -type f -regex '.*.ya?ml' \ ! -regex '.*.tox.*\|.*.venv.*' \ -print0 | xargs -t -n1 -0 yamllint --format standard --strict" [testenv:shellcheck] # TODO (fdegir): shellcheck errors are ignored since those come from scenarios # and we need time to fix those ignore_outcome = true description = invoke shellcheck to analyse bash shell scripts deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash commands = bash -c "find {toxinidir} -type f -regex '.*.sh' \ ! -regex '.*.tox.*\|.*.venv.*' \ -print0 | xargs -t -n1 -0 shellcheck --color=never --source-path={toxinidir} \ --external-sources --format=tty"