Skip to content

Commit

Permalink
tox: Use pre-commit for pep8 target
Browse files Browse the repository at this point in the history
pre-commit is an effective linter runner. No need to duplicate things.
We are able to remove our homegrown "is this valid JSON" check by using
the one built into pre-commit. Beautiful!

Change-Id: I89398d4a1c5d4e7205f5f9c499cba0b4ff90fa46
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
  • Loading branch information
stephenfin committed Dec 19, 2023
1 parent 298ca28 commit 2ffdf2e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 27 deletions.
2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Expand Up @@ -16,6 +16,8 @@ repos:
- id: debug-statements
# nova/cmd/manage.py imports pdb on purpose.
exclude: 'nova/cmd/manage.py'
- id: check-json
files: .*\.json$
- id: check-yaml
files: .*\.(yaml|yml)$
- repo: https://github.com/Lucas-C/pre-commit-hooks
Expand Down
40 changes: 13 additions & 27 deletions tox.ini
Expand Up @@ -107,43 +107,29 @@ extras =
commands =
bash tools/mypywrap.sh {posargs}

[testenv:codespell]
description =
Run codespell to check spelling.
deps =
pre-commit
commands =
pre-commit run codespell --all-files --show-diff-on-failure

[testenv:pep8]
description =
Run style checks.
deps =
{[testenv]deps}
{[testenv:codespell]deps}
autopep8
pre-commit
extras =
commands =
{[testenv:mypy]commands}
{[testenv:codespell]commands}
# check if autopep8 would alter the formatting but don't actually change it
# so we can gate on this in the ci
autopep8 --exit-code --max-line-length=79 --diff -r nova doc setup.py
# since autopep8 only tries to make minimal changes to conform to pep8 we still need to run
# our hacking and flake8 check to keep our existing code style consistent.
# The full list of issues addressable by autopep8 can be found here
# https://pypi.org/project/autopep8/#features
bash tools/flake8wrap.sh {posargs}
# Check that all JSON files don't have \r\n in line.
bash -c "! find doc/ -type f -name *.json | xargs grep -U -n $'\r'"
# Check that all included JSON files are valid JSON
bash -c '! find doc/ -type f -name *.json | xargs -t -n1 python -m json.tool 2>&1 > /dev/null | grep -B1 -v ^python'
pre-commit run --all-files --show-diff-on-failure

[testenv:autopep8]
extras =
deps = autopep8
deps =
pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure autopep8

[testenv:codespell]
description =
Run codespell to check spelling.
deps =
pre-commit
commands =
autopep8 --exit-code --max-line-length=79 --in-place -r nova doc setup.py
pre-commit run --all-files --show-diff-on-failure codespell

[testenv:fast8]
description =
Expand Down

0 comments on commit 2ffdf2e

Please sign in to comment.