-
Notifications
You must be signed in to change notification settings - Fork 108
/
.pre-commit-config.yaml
145 lines (141 loc) · 4.02 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# cspell: disable autoupdate
ci:
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:
# These will not run on pre-commit.ci
- ansible-test-sanity # requires network access
- shellcheck # no docker
- tox # requires network access
exclude: >
(?x)^(
docs/rst/.*.rst$
)$
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
language_version: python3
- id: file-contents-sorter
args: [--unique]
# always_run: true
files: ^(\.config/dictionary\.txt)$
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.10.0
hooks:
- id: shellcheck
- repo: https://github.com/streetsidesoftware/cspell-cli
rev: v8.13.3
hooks:
- id: cspell
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 24.8.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.11.2
hooks:
- id: mypy
# empty args needed in order to match mypy cli behavior
args: []
language_version: python3.9 # minimal supported version, keeps results consistent
additional_dependencies:
- aiohttp
- aiokafka
- ansible-core>=2.15
- asyncmock
- azure-servicebus
- dpath
- kafka-python-ng; python_version >= "3.12"
- kafka-python; python_version < "3.12"
- psycopg[binary,pool] # extras needed to avoid install failure on macos-aarch64
- pytest
- types-PyYAML
- types-aiobotocore[cloudtrail,sqs]
- types-botocore
- types-mock
- types-requests
- watchdog>=5.0.0
- xxhash
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.6.3"
hooks:
- id: ruff
args: [
--fix,
--exit-non-zero-on-fix,
]
- repo: https://github.com/PyCQA/flake8
rev: 7.1.1
hooks:
- id: flake8
args: [
--max-line-length, "120",
--extend-ignore, E203 E402,
]
- repo: https://github.com/pycqa/pylint
rev: v3.2.7
hooks:
- id: pylint
args:
- --output-format=colorized
additional_dependencies:
- aiobotocore
- aiohttp
- aiokafka
- ansible-core
- asyncmock
- azure-servicebus
- botocore
- dpath
- kafka-python
- psycopg
- pytest
- pyyaml
- requests
- types-aiobotocore
- watchdog>=5.0.0
- xxhash
- repo: local
hooks:
- id: ansible-test-sanity
name: Run ansible-test sanity
entry: ansible-test sanity
require_serial: true
stages: [manual]
language: python
additional_dependencies:
- ansible
pass_filenames: false
- id: tox
name: Run tox
entry: tox
language: python
require_serial: true
stages: [manual]
pass_filenames: false
- repo: https://github.com/jazzband/pip-tools
rev: 7.4.1
hooks:
- id: pip-compile
name: pip-combile -> constraints.txt
alias: deps
always_run: true
entry: pip-compile --upgrade --no-annotate --strip-extras --unsafe-package=ansible-core --unsafe-package=doctutils --unsafe-package=setuptools --output-file=.config/constraints.txt .config/requirements.txt .config/requirements-test.txt .config/requirements-docs.txt
files: ^.config\/.*requirements.*$
language: python
language_version: "3.9" # minimal we support officially
pass_filenames: false
stages: [manual]
additional_dependencies:
- pip>=22.3.1