100 lines
2.5 KiB
YAML
100 lines
2.5 KiB
YAML
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.1.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
- id: check-case-conflict
|
|
- id: check-toml
|
|
- id: check-yaml
|
|
exclude: template.yaml
|
|
- id: debug-statements
|
|
- id: end-of-file-fixer
|
|
exclude: WHEEL
|
|
exclude_types: [json]
|
|
- id: forbid-new-submodules
|
|
- id: trailing-whitespace
|
|
exclude: .patch
|
|
exclude_types: [json]
|
|
|
|
- repo: https://github.com/psf/black
|
|
rev: 22.3.0
|
|
hooks:
|
|
- id: black
|
|
files: \.py$
|
|
args: [--line-length=100]
|
|
|
|
- repo: https://github.com/PyCQA/isort
|
|
rev: 5.12.0
|
|
hooks:
|
|
- id: isort
|
|
files: \.py$
|
|
args: [--profile=black]
|
|
|
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
rev: "1.13.0"
|
|
hooks:
|
|
- id: blacken-docs
|
|
additional_dependencies:
|
|
- black==22.3.0
|
|
|
|
- repo: https://github.com/PyCQA/flake8
|
|
rev: 3.9.2
|
|
hooks:
|
|
- id: flake8
|
|
files: \.py$
|
|
additional_dependencies: [
|
|
'flake8-bugbear==20.1.4',
|
|
'flake8-logging-format==0.6.0',
|
|
'flake8-implicit-str-concat==0.2.0',
|
|
]
|
|
stages: [manual]
|
|
|
|
# We use the Python version instead of the original version which seems to require Docker
|
|
# https://github.com/koalaman/shellcheck-precommit
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
rev: v0.8.0.4
|
|
hooks:
|
|
- id: shellcheck
|
|
name: shellcheck
|
|
args: ["--severity=warning"]
|
|
stages: [manual]
|
|
|
|
- repo: https://github.com/PyCQA/doc8
|
|
rev: 0.11.1
|
|
hooks:
|
|
- id: doc8
|
|
args: ["--ignore=D001"] # ignore line length
|
|
stages: [manual]
|
|
|
|
- repo: https://github.com/sirosen/check-jsonschema
|
|
rev: 0.14.1
|
|
hooks:
|
|
- id: check-jsonschema
|
|
name: "Check GitHub Workflows"
|
|
files: ^\.github/workflows/
|
|
types: [yaml]
|
|
args: ["--schemafile", "https://json.schemastore.org/github-workflow"]
|
|
stages: [manual]
|
|
|
|
- repo: https://github.com/ariebovenberg/slotscheck
|
|
rev: v0.14.0
|
|
hooks:
|
|
- id: slotscheck
|
|
files: \.py$
|
|
exclude: "^(test|tools)/"
|
|
stages: [manual]
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: "v2.2.4"
|
|
hooks:
|
|
- id: codespell
|
|
# Examples of errors or updates to justify the exceptions:
|
|
# - test/test_on_demand_csfle.py:44: FLE ==> FILE
|
|
# - test/test_bson.py:1043: fo ==> of, for, to, do, go
|
|
# - test/bson_corpus/decimal128-4.json:98: Infinit ==> Infinite
|
|
# - test/test_bson.py:267: isnt ==> isn't
|
|
# - test/versioned-api/crud-api-version-1-strict.json:514: nin ==> inn, min, bin, nine
|
|
# - test/test_client.py:188: te ==> the, be, we, to
|
|
args: ["-L", "fle,fo,infinit,isnt,nin,te"]
|