From 393c06f537f01bbd35f08beb12ea802c63d8a559 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Thu, 27 May 2021 21:22:00 +0200 Subject: [PATCH] [enh] add test.yamllint - lint yaml files Usage:: make test.yamllint ./manage test.yamllint test.yamllint is also added to the `test` makefile target. Signed-off-by: Markus Heiser --- .yamllint.yml | 16 ++++++++++++++++ Makefile | 6 +++--- manage | 10 ++++++++++ requirements-dev.txt | 1 + 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 .yamllint.yml diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..065665612 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,16 @@ +extends: default + +rules: + + indentation: + spaces: 2 + + # 120 chars should be enough, but don't fail if a line is longer + line-length: + max: 120 + level: warning + allow-non-breakable-words: true + + # we don't have multiple document per file + document-start: disable + document-end: disable diff --git a/Makefile b/Makefile index c2c9cf49e..3e3df3292 100644 --- a/Makefile +++ b/Makefile @@ -51,8 +51,8 @@ search.checker.%: install $(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))" PHONY += test ci.test test.shell -ci.test: test.pep8 test.pylint test.unit test.robot -test: test.pep8 test.pylint test.unit test.robot test.shell +ci.test: test.yamllint test.pep8 test.pylint test.unit test.robot +test: test.yamllint test.pep8 test.pylint test.unit test.robot test.shell test.shell: $(Q)shellcheck -x -s dash \ dockerfiles/docker-entrypoint.sh @@ -81,7 +81,7 @@ MANAGE += node.env node.clean MANAGE += py.build py.clean MANAGE += pyenv pyenv.install pyenv.uninstall MANAGE += pypi.upload pypi.upload.test -MANAGE += test.pylint test.pep8 test.unit test.coverage test.robot test.clean +MANAGE += test.yamllint test.pylint test.pep8 test.unit test.coverage test.robot test.clean MANAGE += themes.all themes.oscar themes.simple themes.bootstrap PHONY += $(MANAGE) diff --git a/manage b/manage index 3282cc645..8dcb506b3 100755 --- a/manage +++ b/manage @@ -29,6 +29,11 @@ pylint.FILES() { grep -l -r --include \*.py '^#[[:blank:]]*lint:[[:blank:]]*pylint' searx searx_extra tests } +YAMLLINT_FILES=() +while IFS= read -r line; do + YAMLLINT_FILES+=("$line") +done <<< "$(git ls-files './tests/*.yml' './searx/*.yml')" + PYLINT_SEARX_DISABLE_OPTION="\ I,C,R,\ W0105,W0212,W0511,W0603,W0613,W0621,W0702,W0703,W1401,\ @@ -391,6 +396,11 @@ pypi.upload.test() { pyenv.cmd twine upload -r testpypi "${PYDIST}"/* } +test.yamllint() { + build_msg TEST "[pylint] \$PYLINT_FILES" + pyenv.cmd yamllint --format parsable "${YAMLLINT_FILES[@]}" +} + test.pylint() { # shellcheck disable=SC2086 ( set -e diff --git a/requirements-dev.txt b/requirements-dev.txt index 6612814df..695a66c0e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -16,3 +16,4 @@ sphinxcontrib-programoutput==0.17 sphinx-autobuild==2021.3.14 linuxdoc==20210324 aiounittest==1.4.0 +yamllint==1.26.1