diff options
Diffstat (limited to '.pre-commit-config.yaml')
-rw-r--r-- | .pre-commit-config.yaml | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..a0749a0 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,131 @@ +--- +ci: + # format compatible with commitlint + autoupdate_commit_msg: "chore: pre-commit autoupdate" + autoupdate_schedule: monthly + autofix_commit_msg: | + chore: auto fixes from pre-commit.com hooks + + for more information, see https://pre-commit.ci + skip: + # https://github.com/pre-commit-ci/issues/issues/55 + - ccv + - pip-compile + # No docker on pre-commit.ci + - validate-config-in-container +default_language_version: + # Needed in order to make pip-compile output predictable. + python: python3.10 +exclude: | + (?x)^( + test/assets/.* + )$ +repos: + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: "v0.1.9" + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + - repo: https://github.com/pappasam/toml-sort + rev: v0.23.1 + hooks: + - id: toml-sort-fix + - repo: https://github.com/pre-commit/mirrors-prettier + # keep it before yamllint + rev: "v3.0.3" + hooks: + - id: prettier + additional_dependencies: + - prettier + - prettier-plugin-toml + - prettier-plugin-sort-json + - repo: https://github.com/pre-commit/pre-commit-hooks.git + rev: v4.5.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace + exclude: > + (?x)^( + examples/playbooks/(with-skip-tag-id|unicode).yml| + examples/playbooks/example.yml + )$ + - id: mixed-line-ending + - id: check-byte-order-marker + - id: check-executables-have-shebangs + - id: check-merge-conflict + - id: debug-statements + language_version: python3 + - repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + - repo: https://github.com/adrienverge/yamllint.git + rev: v1.33.0 + hooks: + - id: yamllint + files: \.(yaml|yml)$ + types: [file, yaml] + entry: yamllint --strict + - repo: https://github.com/psf/black + rev: 23.12.1 + hooks: + - id: black + language_version: python3 + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.8.0 + hooks: + - id: mypy + # empty args needed in order to match mypy cli behavior + args: ["--strict"] + additional_dependencies: + - ansible-core + - cached_property + - packaging + - pytest + - pytest-mock + - subprocess-tee>=0.4.1 + - "typing-extensions>=4.5.0;python_version<'3.10'" + - types-PyYAML + - types-pkg_resources + - types-jsonschema>=4.4.9 + - repo: https://github.com/pycqa/pylint + rev: v3.0.3 + hooks: + - id: pylint + additional_dependencies: + - PyYAML + - pytest + - typing_extensions + # Keep last due to being considerably slower than the others: + - repo: local + hooks: + - id: pip-compile-upgrade + # To run it execute: `pre-commit run pip-compile-upgrade --hook-stage manual` + name: Upgrade constraints files and requirements + files: ^(pyproject\.toml|requirements\.txt)$ + language: python + entry: python -m piptools compile --resolver=backtracking --upgrade -q --strip-extras --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core --unsafe-package resolvelib --unsafe-package typing_extensions + pass_filenames: false + stages: + - manual + additional_dependencies: + - pip-tools>=6.11.0 + - id: pip-compile + name: Check constraints files and requirements + files: ^(pyproject\.toml|requirements\.txt)$ + language: python + entry: python -m piptools compile --resolver=backtracking -q --strip-extras --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core --unsafe-package resolvelib --unsafe-package typing_extensions + pass_filenames: false + additional_dependencies: + - pip-tools>=6.11.0 + - repo: https://github.com/packit/pre-commit-hooks + rev: v1.2.0 + hooks: + - id: validate-config-in-container + name: packit + alias: packit + - repo: https://github.com/mashi/codecov-validator + rev: "1.0.1" + hooks: + - id: ccv + name: codecov |