]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add pylint and flake8 tests to GitLab CI
authorOndřej Surý <ondrej@sury.org>
Mon, 30 Mar 2020 12:18:01 +0000 (14:18 +0200)
committerOndřej Surý <ondrej@isc.org>
Tue, 14 Apr 2020 08:41:34 +0000 (10:41 +0200)
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
.pylintrc [new file with mode: 0644]
util/copyrights

index e8f32873c02ba42b485b95b617fd2d2fab9cf33e..94c2b6153e7e96ba2730fa7e5da4a39ce0ae7ad6 100644 (file)
@@ -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 (file)
index 0000000..62cbfae
--- /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
index c0af48b41d7924692407b549cfaa2845cddfa018..94047aabcf6ced278edc1a26bc541172a2c5abed 100644 (file)
@@ -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