From 63b2eb1089d3b1baf5918b5c0a1cc003615da14a Mon Sep 17 00:00:00 2001 From: real-yfprojects <62463991+real-yfprojects@users.noreply.github.com> Date: Mon, 15 Aug 2022 17:42:36 +0200 Subject: [PATCH] Configure pre-commit hooks and configure black for tests also. These include flake8 linting, black and isort formatting as well as some general hooks with minor checks. * .pre-commit-config.yaml * pyproject.toml : Run black on test files also. --- .pre-commit-config.yaml | 81 +++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..d6b613fa --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,81 @@ +# pre-commit is a useful tool which can be setup by contributors +# per-repository in a few simple steps given that the +# repository has a config file like this one. +# +# The configured hooks are run on `git commit`. If one of the hooks makes or +# demands a change of the commits contents the commit process is aborted. +# The hooks can also be run manually through `pre-commit run --all-files`. + +minimum_pre_commit_version: "1.15" + +# The following hooks will be run before a commit is created +repos: + # general stuff + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + # check file system problems + - id: check-case-conflict + - id: check-symlinks + - id: destroyed-symlinks + + # unify whitespace and line ending + - id: trailing-whitespace + args: [--markdown-linebreak-ext=md] + - id: end-of-file-fixer + - id: mixed-line-ending + + # sort requirements.txt files + - id: requirements-txt-fixer + + # format python files + - repo: https://github.com/psf/black + rev: 22.6.0 + hooks: + - id: black + files: ^(src/vorta/|tests) + + # sort python imports + - repo: https://github.com/PyCQA/isort + rev: 5.10.1 + hooks: + - id: isort + + # # run black on code embedded in docstrings + # - repo: https://github.com/asottile/blacken-docs + # rev: v1.12.1 + # hooks: + # - id: blacken-docs + # additional_dependencies: [black] + # args: + # [ + # --line-length, + # "120", + # --skip-string-normalization, + # --target-version, + # py39, + # ] + + # check pep8 conformity using flake8 + - repo: https://github.com/PyCQA/flake8 + rev: 5.0.4 + hooks: + - id: flake8 + +# configuration for the pre-commit.ci bot +# only relevant when actually using the bot +ci: + autofix_commit_msg: | + [pre-commit.ci] auto fixes from pre-commit.com hooks + + for more information, see https://pre-commit.ci and + the `.pre-commit-config.yaml` file in this repository. + + autofix_prs: true # default + autoupdate_commit_msg: | + [pre-commit.ci] Autoupdate pre-commit hook versions. + + for more information, see https://pre-commit.ci and + the `.pre-commit-config.yaml` file in this repository. + + submodules: false # default diff --git a/pyproject.toml b/pyproject.toml index 87e63787..01eda5ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ line-length = 120 skip-string-normalization = true target-version = ['py39'] -include = "src/vorta/.*.py$" +include = "(src/vorta/|tests).*.py$" [tool.isort] profile = "black"