-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy path.pre-commit-config.yaml
127 lines (118 loc) · 4.28 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
---
minimum_pre_commit_version: 1.15.2
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-merge-conflict # Check for files that contain merge conflict strings.
- id: trailing-whitespace # Trims trailing whitespace.
args: [--markdown-linebreak-ext=md]
- id: mixed-line-ending # Replaces or checks mixed line ending.
args: [--fix=lf]
- id: end-of-file-fixer # Makes sure files end in a newline and only a newline.
- id: check-merge-conflict # Check for files that contain merge conflict strings.
- id: check-ast # Simply check whether files parse as valid python.
# ----- Local Hooks ----------------------------------------------------------------------------------------------->
- repo: local
hooks:
- id: sort-pylint-spelling-words
name: Sort PyLint Spelling Words File
entry: python .pre-commit-hooks/sort-pylint-spelling-words.py
language: system
files: ^\.pylint-spelling-words$
- id: check-changelog-entries
name: Check Changelog Entries
entry: python .pre-commit-hooks/check-changelog-entries.py
language: system
# <---- Local Hooks ------------------------------------------------------------------------------------------------
- repo: https://github.com/s0undt3ch/python-tools-scripts
rev: "0.17.0"
hooks:
- id: tools
alias: actionlint
name: Lint GitHub Actions Workflows
files: "^.github/workflows/"
types:
- yaml
args:
- pre-commit
- actionlint
# ----- Formatting ------------------------------------------------------------------------------------------------>
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.280"
hooks:
- id: ruff
args:
- --fix
exclude: (.pre-commit-hooks/.*|docs/.*)\.py
- repo: https://github.com/asottile/pyupgrade
rev: v3.9.0
hooks:
- id: pyupgrade
name: Rewrite Code to be Py3.7+
args: [--py37-plus]
exclude: (^src/saltfactories/utils/saltext/.*\.py)
- repo: https://github.com/psf/black
rev: 23.7.0
hooks:
- id: black
args: [-l 100]
exclude: src/saltfactories/version.py
- repo: https://github.com/asottile/blacken-docs
rev: 1.15.0
hooks:
- id: blacken-docs
args: [--skip-errors]
files: ^(.*\.rst|docs/.*\.rst|src/saltfactories/.*\.py)$
additional_dependencies:
- black==23.7.0
# <---- Formatting -------------------------------------------------------------------------------------------------
# ----- Security -------------------------------------------------------------------------------------------------->
- repo: https://github.com/PyCQA/bandit
rev: "1.7.5"
hooks:
- id: bandit
alias: bandit-salt
name: Run bandit against Salt
args: [--silent, -lll, --skip, B701]
exclude: >
(?x)^(
tests/.*
)$
- repo: https://github.com/PyCQA/bandit
rev: "1.7.5"
hooks:
- id: bandit
alias: bandit-tests
name: Run bandit against the test suite
args: [--silent, -lll, --skip, B701]
files: ^tests/.*
# <---- Security ---------------------------------------------------------------------------------------------------
# ----- Code Analysis --------------------------------------------------------------------------------------------->
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v0.931
# hooks:
# - id: mypy
# name: Run mypy against source
# files: ^src/.*\.py$
# args: [--strict]
# additional_dependencies:
# - attrs
# - types-attrs
# - types-requests
# - types-setuptools
#
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v0.931
# hooks:
# - id: mypy
# name: Run mypy against tests
# files: ^tests/.*\.py$
# args: []
# additional_dependencies:
# - pytest
# - attrs
# - types-attrs
# - types-requests
# - types-setuptools
# <---- Code Analysis ----------------------------------------------------------------------------------------------