From fba85b3311e1bedf82cecb1faa7e9941a5d66c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Beraud?= Date: Tue, 21 Jul 2020 13:28:35 +0200 Subject: [PATCH] Add pre-commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pre-commit will be used to: - trailing whitespace [1]. - Replaces or checks mixed line ending (mixed-line-ending) [1]. - Forbid files which have a UTF-8 byte-order marker (check-byte-order-marker) [1]. - Checks that non-binary executables have a proper shebang (check-executables-have-shebangs) [1]. - Check for files that contain merge conflict strings (check-merge-conflict) [1]. - Check for debugger imports and py37+ breakpoint() calls in python source (debug-statements) [1]. - Attempts to load all yaml files to verify syntax (check-yaml) [1]. - replace tabs by space (4 by default)(remove-tabs) [2]. - Run flake8 checks (flake8) (local) [2] https://github.com/pre-commit/pre-commit-hooks [3] https://github.com/Lucas-C/pre-commit-hooks Change-Id: I3a8d6c282a1ec8189f4150a5e5391a94591cff9d Signed-off-by: Moisés Guimarães de Medeiros --- .pre-commit-config.yaml | 35 +++++++++++++++++++++++++++++++++++ tox.ini | 8 ++++++++ 2 files changed, 43 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..a9cb953 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,35 @@ +--- +default_language_version: + # force all unspecified python hooks to run python3 + python: python3 +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.1.0 + hooks: + - id: trailing-whitespace + # Replaces or checks mixed line ending + - id: mixed-line-ending + args: ['--fix', 'lf'] + exclude: '.*\.(svg)$' + # Forbid files which have a UTF-8 byte-order marker + - id: check-byte-order-marker + # Checks that non-binary executables have a proper shebang + - id: check-executables-have-shebangs + # Check for files that contain merge conflict strings. + - id: check-merge-conflict + # Check for debugger imports and py37+ breakpoint() + # calls in python source + - id: debug-statements + - id: check-yaml + files: .*\.(yaml|yml)$ + - repo: https://github.com/Lucas-C/pre-commit-hooks + rev: v1.1.7 + hooks: + - id: remove-tabs + exclude: '.*\.(svg)$' + - repo: https://gitlab.com/pycqa/flake8 + rev: 3.8.3 + hooks: + - id: flake8 + additional_dependencies: + - hacking>=3.0.1,<3.1.0 diff --git a/tox.ini b/tox.ini index 603edc9..2cde313 100644 --- a/tox.ini +++ b/tox.ini @@ -20,6 +20,14 @@ commands = flake8 doc8 doc/source + +[testenv:pre-commit] +deps = + pre-commit +commands = + pre-commit run --from-ref HEAD^ --to-ref HEAD + + [testenv:venv] commands = {posargs}