2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 01:59:26 +00:00

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.
This commit is contained in:
Ondřej Surý 2020-03-30 14:18:01 +02:00 committed by Ondřej Surý
parent 37eb17dd71
commit ee534592e3
3 changed files with 38 additions and 0 deletions

View 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

6
.pylintrc Normal file
View File

@ -0,0 +1,6 @@
[MASTER]
disable=
C0114, # missing-module-docstring
C0115, # missing-class-docstring
C0116, # missing-function-docstring
R0801, # duplicate-code

View 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