From 152c480859f7245124911c7d6efab04f4ec2fec3 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:47:18 -0500 Subject: [PATCH 1/8] Add pull request template --- .../adafruit_circuitpython_pr.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md diff --git a/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md b/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md new file mode 100644 index 0000000..eff7087 --- /dev/null +++ b/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Adafruit Industries +# +# SPDX-License-Identifier: MIT + +Thank you for contributing! Before you submit a pull request, please read the following. + +Make sure any changes you're submitting are in line with the CircuitPython Design Guide, available here: https://circuitpython.readthedocs.io/en/latest/docs/design_guide.html + +If your changes are to documentation, please verify that the documentation builds locally by following the steps found here: https://adafru.it/build-docs + +Before submitting the pull request, make sure you've run Pylint and Black locally on your code. You can do this manually or using pre-commit. Instructions are available here: https://adafru.it/check-your-code + +Please remove all of this text before submitting. Include an explanation or list of changes included in your PR, as well as, if applicable, a link to any related issues. \ No newline at end of file From 2b2f2db261842a63e068403935d6527bc8cec099 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:48:28 -0500 Subject: [PATCH 2/8] Added problem matcher --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a44310..a40009f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,3 +78,5 @@ jobs: python setup.py sdist python setup.py bdist_wheel --universal twine check dist/* + - name: Setup problem matchers + uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1 \ No newline at end of file From b68c74a27e38fe5864e9f90f35bf340d76709f88 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:48:52 -0500 Subject: [PATCH 3/8] Moved CI to Python 3.7 --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a40009f..eaf3078 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,10 +22,10 @@ jobs: awk -F '\/' '{ print tolower($2) }' | tr '_' '-' ) - - name: Set up Python 3.6 + - name: Set up Python 3.7 uses: actions/setup-python@v1 with: - python-version: 3.6 + python-version: 3.7 - name: Versions run: | python3 --version From 461e515e23560a5cd2d42b252fbd629f332ee9b9 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:52:12 -0500 Subject: [PATCH 4/8] Updated .readthedocs.yaml --- .readthedocs.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 95ec218..d79db81 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -13,3 +13,4 @@ python: install: - requirements: docs/requirements.txt - requirements: requirements.txt + \ No newline at end of file From 1526546f916b21bcf598c09e5a8294080f46d248 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:53:12 -0500 Subject: [PATCH 5/8] PATCH Pylint and readthedocs patch test --- .github/workflows/build.yml | 4 ++-- .pre-commit-config.yaml | 24 ++++++++++++++++-------- .pylintrc | 2 +- docs/requirements.txt | 5 +++++ 4 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 docs/requirements.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eaf3078..e1d825b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,9 +42,9 @@ jobs: # (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.) run: | source actions-ci/install.sh - - name: Pip install pylint, Sphinx, pre-commit + - name: Pip install Sphinx, pre-commit run: | - pip install --force-reinstall pylint Sphinx sphinx-rtd-theme pre-commit + pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit - name: Library version run: git describe --dirty --always --tags - name: Setup problem matchers diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 13d4273..bf52d9e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,20 +18,28 @@ repos: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/pycqa/pylint - rev: pylint-2.7.1 + rev: v2.11.1 hooks: - id: pylint name: pylint (library code) types: [python] + args: + - --disable=consider-using-f-string exclude: "^(docs/|examples/|tests/|setup.py$)" -- repo: local - hooks: - - id: pylint_examples - name: pylint (examples code) + - id: pylint + name: pylint (example code) description: Run pylint rules on "examples/*.py" files - entry: /usr/bin/env bash -c - args: ['([[ ! -d "examples" ]] || for example in $(find . -path "./examples/*.py"); do pylint --disable=missing-docstring,invalid-name,consider-using-f-string $example; done)'] - language: system + types: [python] + files: "^examples/" + args: + - --disable=missing-docstring,invalid-name,consider-using-f-string,duplicate-code + - id: pylint + name: pylint (test code) + description: Run pylint rules on "tests/*.py" files + types: [python] + files: "^tests/" + args: + - --disable=missing-docstring,consider-using-f-string,duplicate-code - id: pylint_tests name: pylint (tests code) description: Run pylint rules on "tests/*.py" files diff --git a/.pylintrc b/.pylintrc index 79bcfb7..96e676b 100644 --- a/.pylintrc +++ b/.pylintrc @@ -252,7 +252,7 @@ ignore-docstrings=yes ignore-imports=yes # Minimum lines number of a similarity. -min-similarity-lines=12 +min-similarity-lines=4 [BASIC] diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..fe1dde4 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries +# +# SPDX-License-Identifier: Unlicense + +sphinx>=4.0.0 \ No newline at end of file From 55b0840eec993af4fb09bdc52be01e650a996eff Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 14:57:14 -0500 Subject: [PATCH 6/8] Disabled unspecified-encoding pylint check --- .pylintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pylintrc b/.pylintrc index 96e676b..08e12bf 100644 --- a/.pylintrc +++ b/.pylintrc @@ -55,7 +55,7 @@ confidence= # no Warning level messages displayed, use"--disable=all --enable=classes # --disable=W" # disable=import-error,print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call -disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error,bad-continuation,pointless-string-statement +disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error,bad-continuation,pointless-string-statement,unspecified-encoding # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option From b0c7e2419cd6b547c5a2c0b0d8f25b07aa6d9783 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 15:31:21 -0500 Subject: [PATCH 7/8] Remove pylint_tests --- .pre-commit-config.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bf52d9e..1b9fadc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,9 +40,3 @@ repos: files: "^tests/" args: - --disable=missing-docstring,consider-using-f-string,duplicate-code - - id: pylint_tests - name: pylint (tests code) - description: Run pylint rules on "tests/*.py" files - entry: /usr/bin/env bash -c - args: ['([[ ! -d "tests" ]] || for test in $(find . -path "./tests/*.py"); do pylint --disable=missing-docstring,consider-using-f-string $test; done)'] - language: system From b3edf9e7bf5cb8da561409c5468898df3a4b7590 Mon Sep 17 00:00:00 2001 From: Alec Delaney Date: Wed, 10 Nov 2021 15:31:34 -0500 Subject: [PATCH 8/8] Changes per pre-commit --- .../PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md | 2 +- .github/workflows/build.yml | 2 +- .readthedocs.yaml | 1 - docs/requirements.txt | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md b/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md index eff7087..71ef8f8 100644 --- a/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md +++ b/.github/workflows/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md @@ -10,4 +10,4 @@ If your changes are to documentation, please verify that the documentation build Before submitting the pull request, make sure you've run Pylint and Black locally on your code. You can do this manually or using pre-commit. Instructions are available here: https://adafru.it/check-your-code -Please remove all of this text before submitting. Include an explanation or list of changes included in your PR, as well as, if applicable, a link to any related issues. \ No newline at end of file +Please remove all of this text before submitting. Include an explanation or list of changes included in your PR, as well as, if applicable, a link to any related issues. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e1d825b..bfee82d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,4 +79,4 @@ jobs: python setup.py bdist_wheel --universal twine check dist/* - name: Setup problem matchers - uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1 \ No newline at end of file + uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1 diff --git a/.readthedocs.yaml b/.readthedocs.yaml index d79db81..95ec218 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -13,4 +13,3 @@ python: install: - requirements: docs/requirements.txt - requirements: requirements.txt - \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt index fe1dde4..88e6733 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Unlicense -sphinx>=4.0.0 \ No newline at end of file +sphinx>=4.0.0