summaryrefslogtreecommitdiffstats
path: root/.pre-commit-config.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.pre-commit-config.yaml')
-rw-r--r--.pre-commit-config.yaml131
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