From b7900f1c64aca063b42345e4b22479ee5feb9b73 Mon Sep 17 00:00:00 2001
From: Rafael Guterres Jeffman <rjeffman@redhat.com>
Date: Tue, 1 Sep 2020 16:32:51 -0300
Subject: [PATCH] Add script to run linters.

The scprit `lint_check.sh` under utils runs the same linters as the
Github Actions, with the same configuration.

The changes on setup.cfg are required if flake8-docstrings is used,
so its output is the same as pydocstlye.
---
 setup.cfg           |  3 ++-
 utils/lint_check.sh | 25 +++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100755 utils/lint_check.sh

diff --git a/setup.cfg b/setup.cfg
index d87f6f06..4d60e31f 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -22,7 +22,8 @@ data_files =
     /usr/share/ansible/roles/ipareplica = roles/ipareplica/*
 
 [flake8]
-extend-ignore = E203
+extend-ignore = E203, D1, D212, D203, D400, D401
+exclude = .git,__pycache__,.tox,.venv
 per-file-ignores =
     plugins/*:E402
     roles/*:E402
diff --git a/utils/lint_check.sh b/utils/lint_check.sh
new file mode 100755
index 00000000..49700266
--- /dev/null
+++ b/utils/lint_check.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+topdir=`dirname $(dirname $0)`
+
+flake8 .
+pydocstyle .
+
+ANSIBLE_LIBRARY=${ANSIBLE_LIBRARY:-"${topdir}/plugins/modules"}
+ANSIBLE_MODULE_UTILS=${ANSIBLE_MODULE_UTILS:-"${topdir}/plugins/module_utils"}
+
+export ANSIBLE_LIBRARY ANSIBLE_MODULE_UTILS
+
+yaml_dirs=(
+    "${topdir}/tests/*.yml"
+    "${topdir}/tests/*/*.yml"
+    "${topdir}/tests/*/*/*.yml"
+    "${topdir}/playbooks/*.yml"
+    "${topdir}/playbooks/*/*.yml"
+    "${topdir}/molecule/*/*.yml"
+    "${topdir}/molecule/*/*/*.yml"
+)
+
+ansible-lint --force-color ${yaml_dirs[@]}
+
+yamllint -f colored ${yaml_dirs[@]}
-- 
GitLab