
Switch to using pre-commit for linters. This consolodates our codespell job into the general pep8 job. To ensure that CI matches what users get and to not require users to do anything different, call pre-commit from tox. Brought over some tox.ini differences from the ironic repo. Change-Id: Ic2af465a1f9446e9753cdd0d2d9d8c567df71dc1 Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
96 lines
3.0 KiB
INI
96 lines
3.0 KiB
INI
[tox]
|
|
minversion = 4.4.0
|
|
envlist = py3,pep8
|
|
|
|
[testenv]
|
|
constrain_package_deps = true
|
|
usedevelop = True
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
PYTHONUNBUFFERED=1
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:pep8]
|
|
deps = pre-commit
|
|
allowlist_externals = pre-commit
|
|
commands = pre-commit run --all-files --show-diff-on-failure {posargs}
|
|
|
|
[testenv:codespell]
|
|
description =
|
|
Run codespell to check spelling
|
|
deps = pre-commit
|
|
commands = pre-commit run --all-files --show-diff-on-failure codespell
|
|
|
|
[testenv:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --parallel-mode
|
|
# After running this target, visit sushy/cover/index.html
|
|
# in your browser, to see a nicer presentation report with annotated
|
|
# HTML listings detailing missed lines.
|
|
commands = coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage report
|
|
coverage html
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:docs]
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
usedevelop = False
|
|
allowlist_externals = make
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
usedevelop = False
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t sushy/tests {posargs}
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# E741 ambiguous variable name.
|
|
# W503 Line break occurred before a binary operator. Conflicts with W504.
|
|
ignore = E123,E125,E741,W503
|
|
# [H106] Don't put vim configuration in source files.
|
|
# [H203] Use assertIs(Not)None to check for None.
|
|
# [H204] Use assert(Not)Equal to check for equality.
|
|
# [H205] Use assert(Greater|Less)(Equal) for comparison.
|
|
# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
|
|
# [H904] Delay string interpolations at logging calls.
|
|
enable-extensions=H106,H203,H204,H205,H210,H904
|
|
builtins = _
|
|
exclude=.*,dist,doc,*lib/python*,*egg,build
|
|
import-order-style = pep8
|
|
application-import-names = sushy
|
|
filename = *.py
|
|
|