Add support for pre-commit hook/linting
.pre-commit-config.yaml
-----------------------
o Create initial config for pre-commit hook.
misc/*
o Basic inline cleanups courtesy of the pre-commit hook.
Signed-off-by: Joey Armstrong <jarmstrong@linuxfoundation.org>
Change-Id: I6aa20216ade22b1a7406e8358864fb245842b713
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..fb93a96
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,62 @@
+---
+
+# See https://pre-commit.com for more information
+# See https://pre-commit.com/hooks.html for more hooks
+repos:
+- repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v3.2.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: check-yaml
+ - id: check-added-large-files
+- repo: https://github.com/psf/black
+ rev: 22.10.0
+ hooks:
+ - id: black
+- repo: https://github.com/koalaman/shellcheck-precommit
+ rev: v0.10.0
+ hooks:
+ - id: shellcheck
+- repo: https://github.com/adrienverge/yamllint.git
+ rev: v1.35.1
+ hooks:
+ - id: yamllint
+
+# -------------------------------------------------------------------
+# https://docs.python.org/3/library/re.html#regular-expression-syntax
+# -------------------------------------------------------------------
+exclude: |
+ (?x)^(
+ ^jjb/.* |
+ ^jenkins-scripts/.* |
+ ^makefiles/.* |
+ ^lf/.* |
+ ^lf-ansible/.* |
+ ^packer/.* |
+ ^test/.* |
+ ^.venv/.* |
+ ^jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy
+ )$
+
+
+# -----------------------------------------------------------------------
+# declare -a args=()
+# args+=('--color=always')
+#
+# if true; then
+# args+=('--all-files')
+# else
+# args+=('--files' 'jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy')
+# fi
+#
+# freeze
+# args+=('--bleeding-edge')
+# args+=('--freeze')
+#
+# args+=('--show-diff-on-failure')
+#
+# pre-commit run "${args[@]}" &1 | tee log
+# -----------------------------------------------------------------------
+
+# [EOF]