Last active
September 3, 2020 08:00
-
-
Save 4383/bd7fbe2f8a1fcf19b335f7a94e1f1c1d to your computer and use it in GitHub Desktop.
pre-commit git patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 6eb68519a9e917169e7285df14c7ea20d0ff58a5 Mon Sep 17 00:00:00 2001 | |
From: =?UTF-8?q?Herv=C3=A9=20Beraud?= <[email protected]> | |
Date: Tue, 7 Jul 2020 11:33:55 +0200 | |
Subject: [PATCH] Introducing usage of pre-commit | |
MIME-Version: 1.0 | |
Content-Type: text/plain; charset=UTF-8 | |
Content-Transfer-Encoding: 8bit | |
Adding pre-commit | |
Introduced changes: | |
- pre-commit config and rules | |
- Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks. | |
- Applying fixes for pre-commit compliance in all code. | |
Also commit hash will be used instead of version tags in pre-commit to | |
prevend arbitrary code from running in developer's machines. | |
pre-commit will be used to: | |
- trailing whitespace; | |
- Replaces or checks mixed line ending (mixed-line-ending); | |
- Forbid files which have a UTF-8 byte-order marker (check-byte-order-marker); | |
- Checks that non-binary executables have a proper | |
shebang (check-executables-have-shebangs); | |
- Check for files that contain merge conflict strings (check-merge-conflict); | |
- Check for debugger imports and py37+ breakpoint() | |
calls in python source (debug-statements); | |
- Attempts to load all yaml files to verify syntax (check-yaml); | |
- Run flake8 checks (flake8) (local) | |
For further details about tests please refer to: | |
https://github.com/pre-commit/pre-commit-hooks | |
Change-Id: Ibd0c3d64fdc5c293d9d676d33eab828d9fde971f | |
Co-authored-by: Moisés Guimarães de Medeiros <[email protected]> | |
--- | |
.pre-commit-config.yaml | 36 ++++++++++++++++++++++++++++++++++++ | |
doc/source/conf.py | 0 | |
test-requirements.txt | 1 + | |
tox.ini | 2 +- | |
4 files changed, 38 insertions(+), 1 deletion(-) | |
create mode 100644 .pre-commit-config.yaml | |
mode change 100755 => 100644 doc/source/conf.py | |
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml | |
new file mode 100644 | |
index 0000000..e188d0a | |
--- /dev/null | |
+++ b/.pre-commit-config.yaml | |
@@ -0,0 +1,36 @@ | |
+--- | |
+# We from the Oslo project decided to pin repos based on the | |
+# commit hash instead of the version tag to prevend arbitrary | |
+# code from running in developer's machines. To update to a | |
+# newer version, run `pre-commit autoupdate` and then replace | |
+# the newer versions with their commit hash. | |
+ | |
+default_language_version: | |
+ python: python3 | |
+ | |
+repos: | |
+ - repo: https://github.com/pre-commit/pre-commit-hooks | |
+ rev: ebc15addedad713c86ef18ae9632c88e187dd0af # 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://gitlab.com/pycqa/flake8 | |
+ rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 3.8.3 | |
+ hooks: | |
+ - id: flake8 | |
+ additional_dependencies: | |
+ - hacking>=3.0.1,<3.1.0 | |
diff --git a/doc/source/conf.py b/doc/source/conf.py | |
old mode 100755 | |
new mode 100644 | |
diff --git a/test-requirements.txt b/test-requirements.txt | |
index 2726df6..4b4821e 100644 | |
--- a/test-requirements.txt | |
+++ b/test-requirements.txt | |
@@ -7,6 +7,7 @@ pifpaf>=0.10.0 # Apache-2.0 | |
# Bandit security code scanner | |
bandit>=1.1.0,<1.6.0 # Apache-2.0 | |
stestr>=2.0.0 # Apache-2.0 | |
+pre-commit>=2.6.0 # MIT | |
python-memcached>=1.56 # PSF | |
pymongo!=3.1,>=3.0.2 # Apache-2.0 | |
etcd3gw>=0.2.0 # Apache-2.0 | |
diff --git a/tox.ini b/tox.ini | |
index 20103d0..d3be70c 100644 | |
--- a/tox.ini | |
+++ b/tox.ini | |
@@ -24,7 +24,7 @@ commands = | |
[testenv:pep8] | |
deps = {[testenv]deps} | |
commands = | |
- flake8 | |
+ pre-commit run -a | |
# Run security linter | |
bandit -r oslo_cache -x tests -n5 | |
-- | |
2.20.1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment