From 1c12d4fce567d21689d919190f782dbdcd4ec3d8 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Mon, 22 Jan 2024 01:49:05 +0100 Subject: [PATCH] Improve pre-commit hooks & code cleaning --- .pre-commit-config.yaml | 97 +++++++++++++++++++++++++++-------------- .woodpecker.yml | 2 +- README.md | 5 +-- build.sh | 2 +- check_forgejo_upgrade | 8 ++-- 5 files changed, 72 insertions(+), 42 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 86eac21..c710eb1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,36 +1,67 @@ # Pre-commit hooks to run tests and ensure code is cleaned. # See https://pre-commit.com for more information +--- repos: -- repo: https://github.com/asottile/pyupgrade - rev: v3.15.0 - hooks: - - id: pyupgrade - args: ['--keep-percent-format', '--py37-plus'] -- repo: https://github.com/psf/black - rev: 23.11.0 - hooks: - - id: black - args: ['--target-version', 'py37', '--line-length', '100'] -- repo: https://github.com/PyCQA/isort - rev: 5.12.0 - hooks: - - id: isort - args: ['--profile', 'black', '--line-length', '100'] -- repo: https://github.com/PyCQA/flake8 - rev: 6.1.0 - hooks: - - id: flake8 - args: ['--max-line-length=100'] -- repo: local - hooks: - - id: pylint - name: pylint - entry: pylint - language: system - types: [python] - require_serial: true -- repo: https://github.com/PyCQA/bandit - rev: 1.7.5 - hooks: - - id: bandit - args: [--skip, "B101", --recursive, "mylib"] + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.1.6 + hooks: + - id: ruff + args: + - --fix + - repo: https://github.com/asottile/pyupgrade + rev: v3.3.1 + hooks: + - id: pyupgrade + args: ["--keep-percent-format", "--py37-plus"] + - repo: https://github.com/psf/black + rev: 22.12.0 + hooks: + - id: black + args: ["--target-version", "py37", "--line-length", "100"] + - repo: https://github.com/PyCQA/isort + rev: 5.11.5 + hooks: + - id: isort + args: ["--profile", "black", "--line-length", "100"] + - repo: https://github.com/PyCQA/flake8 + rev: 6.0.0 + hooks: + - id: flake8 + args: ["--max-line-length=100"] + - repo: https://github.com/codespell-project/codespell + rev: v2.2.2 + hooks: + - id: codespell + args: + - --ignore-words-list=fro,hass + - --skip="./.*,*.csv,*.json,*.ambr" + - --quiet-level=2 + exclude_types: [csv, json] + - repo: https://github.com/adrienverge/yamllint + rev: v1.32.0 + hooks: + - id: yamllint + args: ["-d {extends: relaxed, rules: {line-length: disable}}", "-s"] + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v2.7.1 + hooks: + - id: prettier + - repo: local + hooks: + - id: pylint + name: pylint + entry: pylint + language: system + types: [python] + require_serial: true + - repo: https://github.com/Lucas-C/pre-commit-hooks-bandit + rev: v1.0.5 + hooks: + - id: python-bandit-vulnerability-check + name: bandit + args: [--skip, "B101", --recursive, mylib] + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: check-executables-have-shebangs + stages: [manual] diff --git a/.woodpecker.yml b/.woodpecker.yml index 2a012ce..3144bfb 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -18,7 +18,7 @@ pipeline: commands: - echo "$GPG_KEY"|base64 -d|gpg --import - ./build.sh --quiet - secrets: [ maintainer_name, maintainer_email, gpg_key, debian_codename ] + secrets: [maintainer_name, maintainer_email, gpg_key, debian_codename] publish-dryrun: group: publish diff --git a/README.md b/README.md index dd03303..33df414 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,6 @@ Copyright (c) 2023 Benjamin Renard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff --git a/build.sh b/build.sh index 762c456..20e930e 100755 --- a/build.sh +++ b/build.sh @@ -24,7 +24,7 @@ sed -i "s/^VERSION *=.*$/VERSION = '$VERSION'/" $BDIR/check_forgejo_upgrade if [ -z "$DEBIAN_CODENAME" ] then - echo "Retreive debian codename using lsb_release..." + echo "Retrieve debian codename using lsb_release..." DEBIAN_CODENAME=$( lsb_release -c -s ) else echo "Use debian codename from environment ($DEBIAN_CODENAME)" diff --git a/check_forgejo_upgrade b/check_forgejo_upgrade index 7bf65b1..f404dce 100755 --- a/check_forgejo_upgrade +++ b/check_forgejo_upgrade @@ -55,7 +55,7 @@ logging.basicConfig(level=logging.DEBUG if options.debug else logging.WARNING) CURRENT = None cmd = [options.path, "--version"] -logging.debug("Command use to retreive current version of Forgejo: %s", " ".join(cmd)) +logging.debug("Command use to retrieve current version of Forgejo: %s", " ".join(cmd)) OUTPUT = None EXCEPTION = None try: @@ -69,7 +69,7 @@ except Exception as err: # pylint: disable=broad-except logging.debug("Current version: %s", CURRENT) if not CURRENT: - print("UNKNOWN - Fail to retreive current Forgejo") + print("UNKNOWN - Fail to retrieve current Forgejo") print(f'Command: {" ".join(cmd)}') print("Output:") print(OUTPUT if OUTPUT else "") @@ -85,7 +85,7 @@ LATEST_INT = None try: logging.debug("Get releases RSS feed from %s...", options.url) r = requests.get(options.url, timeout=options.timeout) - logging.debug("Data retreive:\n%s", r.text) + logging.debug("Data retrieve:\n%s", r.text) data = xmltodict.parse(r.text) versions = {} for item in data["rss"]["channel"]["item"]: @@ -111,7 +111,7 @@ except Exception: # pylint: disable=broad-except # nosec logging.debug("Latest version: %s", LATEST) if not LATEST: - print("UNKNOWN - Fail to retreive latest Forgejo release from the project RSS feed") + print("UNKNOWN - Fail to retrieve latest Forgejo release from the project RSS feed") print(f"Current version: {CURRENT}") sys.exit(3)