From ee534592e3c5ecd9f0d6c115c43b680baa692ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Mon, 30 Mar 2020 14:18:01 +0200 Subject: [PATCH] Add pylint and flake8 tests to GitLab CI Our python code didn't adhere to any coding standard. In this commit, we add flame8 (https://pypi.org/project/flake8/), and pylint (https://www.pylint.org/). There's couple of exceptions: - ans.py scripts are not checked, nor fixed as part of this MR - pylint's missing-*-docstring and duplicate-code checks have been disabled via .pylintrc Both exceptions should be removed in due time. --- .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++ .pylintrc | 6 ++++++ util/copyrights | 1 + 3 files changed, 38 insertions(+) create mode 100644 .pylintrc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8f32873c0..94c2b6153e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -418,6 +418,37 @@ coccinelle: - util/check-cocci - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi +flake8: + <<: *default_triggering_rules + <<: *base_image + stage: postcheck + needs: + - job: autoreconf + artifacts: true + before_script: + - pip3 install flake8 + script: + - *configure + - flake8 --max-line-length=80 $(git ls-files '*.py' | grep -v 'ans\.py') + only: + - merge_requests + +pylint: + <<: *default_triggering_rules + <<: *base_image + stage: postcheck + needs: + - job: autoreconf + artifacts: true + before_script: + - pip3 install pylint + - PYTHONPATH="$PYTHONPATH:$CI_PROJECT_DIR/bin/python" + script: + - *configure + - pylint --rcfile $CI_PROJECT_DIR/.pylintrc $(git ls-files '*.py' | grep -v 'ans\.py') + only: + - merge_requests + tarball-create: stage: precheck <<: *base_image diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000000..62cbfae3e6 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,6 @@ +[MASTER] +disable= + C0114, # missing-module-docstring + C0115, # missing-class-docstring + C0116, # missing-function-docstring + R0801, # duplicate-code diff --git a/util/copyrights b/util/copyrights index c0af48b41d..94047aabcf 100644 --- a/util/copyrights +++ b/util/copyrights @@ -1,4 +1,5 @@ ./.gitlab-ci.yml X 2018,2019,2020 +./.pylintrc X 2020 ./.uncrustify.cfg X 2018,2019,2020 ./CHANGES X 2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 ./CODE_OF_CONDUCT X 2019,2020