diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..e1f545751 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,9 @@ +- project: + check: + jobs: + - openstack-tox-linters + - openstack-tox-pep8 + gate: + jobs: + - openstack-tox-linters + - openstack-tox-pep8 diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..b891eae81 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,4 @@ +bashate >= 0.2 +PyYAML >= 3.1.0 +yamllint >= 0.5.2 +flake8 >= 2.5.4 # MIT diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..1f7f44deb --- /dev/null +++ b/tox.ini @@ -0,0 +1,53 @@ +[tox] +envlist = linters,pep8 +minversion = 2.3 +skipsdist = True + +[testenv] +install_command = pip install -U {opts} {packages} +setenv = VIRTUAL_ENV={envdir} + OS_STDOUT_CAPTURE=1 + OS_STDERR_CAPTURE=1 + OS_TEST_TIMEOUT=60 +deps = -r{toxinidir}/test-requirements.txt + +[testenv:linters] +basepython = python3 +whitelist_externals = bash +commands = + bash -c "find {toxinidir} \ + -not \( -type d -name .?\* -prune \) \ + -type f \ + -not -name \*~ \ + -not -name \*.md \ + -name \*.sh \ + -print0 | xargs -r -n 1 -0 bashate -v" + bash -c "find {toxinidir} \ + -path '{toxinidir}/.tox' -a -prune \ + -o -name '*.yaml' \ + -print0 | xargs -0 yamllint" + +[testenv:pep8] +basepython = python3 +usedevelop = False +description = + Run style checks. + + +commands = + flake8 + + +[flake8] +# E123, E125 skipped as they are invalid PEP-8. +# E501 skipped because some of the code files include templates +# that end up quite wide +# H405: multi line docstring summary not separated with an empty line +show-source = True +ignore = E123,E125,E501,H405 +exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-* + + +[testenv:venv] +basepython = python3 +commands = {posargs}