forked from gruntwork-io/pre-commit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-hooks.yaml
129 lines (114 loc) · 3.19 KB
/
.pre-commit-hooks.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
# This configuration file allows our pre-commit hooks to be used with pre-commit: http://pre-commit.com/
- id: terraform-fmt
name: Terraform fmt
description: Rewrites all Terraform configuration files to a canonical format
entry: hooks/terraform-fmt.sh
language: script
files: \.tf$
exclude: \.+.terraform\/.*$
require_serial: true
- id: terraform-validate
name: Terraform validate
description: Validates all Terraform configuration files
entry: hooks/terraform-validate.sh
language: script
files: \.tf$
exclude: \.+.terraform\/.*$
require_serial: true
- id: packer-validate
name: Packer validate
description: Validates all Packer configuration files
entry: hooks/packer-validate.sh
language: script
files: (\.pkr\.(hcl|json)|\.pkrvars\.hcl)$
require_serial: true
- id: tflint
name: tflint
description: Linter for Terraform source code
entry: hooks/tflint.sh
language: script
files: \.tf$
exclude: \.+.terraform\/.*$
- id: terragrunt-hclfmt
name: Terragrunt hclfmt
description: Rewrites all Terragrunt configuration files to a canonical format
entry: hooks/terragrunt-hclfmt.sh
language: script
files: \.hcl$
exclude: >
(?x)^(
.+\.terraform\/.*$|
.+\.terragrunt-cache\/.*$|
)$
- id: shellcheck
name: Shellcheck Bash Linter
description: Performs linting on bash scripts
entry: hooks/shellcheck.sh
language: script
- id: gofmt
name: gofmt
description: Gofmt formats Go programs
entry: hooks/gofmt.sh
language: script
files: \.go$
exclude: vendor\/.*$
- id: goimports
name: goimports
description: Goimports updates imports and formats in the same style as gofmt
entry: hooks/goimports.sh
language: script
files: \.go$
exclude: vendor\/.*$
- id: golint
name: golint
description: Golint is a linter for Go source code
entry: hooks/golint.sh
language: script
files: \.go$
exclude: vendor\/.*$
- id: golangci-lint
name: golangci-lint
description: golangci-lint is a Go linters aggregator
entry: hooks/golangci-lint.sh
language: script
language: script
files: \.go$
require_serial: true
- id: yapf
name: yapf
description: yapf (Yet Another Python Formatter) is a python formatter from Google
entry: hooks/yapf.sh
language: script
files: \.py$
exclude: >
(?x)^(
\.tox\/.*$|
__pycache__\/.*$
)$
- id: helmlint
name: helmlint
description: Run helm lint, a linter for helm charts
entry: hooks/helmlint.sh
language: script
files: \.((ya?ml)|(tpl))$
require_serial: true
- id: markdown-link-check
name: markdown-link-check
description: Run markdown-link-check to check all the relative and absolute links in markdown docs.
entry: hooks/mdlink-check.sh
language: script
files: \.md$
exclude: vendor\/.*$
- id: check-terratest-skip-env
name: check-terratest-skip-env
description: Check all go source files for any uncommented os.Setenv calls setting a terratest SKIP environment.
entry: ./hooks/check_skip_env.py
language: script
files: \.go$
- id: sentinel-fmt
name: Sentinel fmt
description: Rewrites all Sentinel configuration files to a canonical format
entry: hooks/sentinel-fmt.sh
language: script
files: \.sentinel$
require_serial: true