test(pre-commit): switch to using `pre-commit`'s built-in file filtering
* only run `yamllint` when relevant files have changed * avoids having to exclude files/dirs not tracked by Git e.g. .kitchen/, .bundle/ etc. * avoids a `yamllint` bug whereby pillar files under `test/` were not checked due to a conflicting `ignore` entry
This commit is contained in:
parent
1ca9120974
commit
be66375cb7
|
@ -45,9 +45,33 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: yamllint
|
- id: yamllint
|
||||||
name: Check YAML syntax with yamllint
|
name: Check YAML syntax with yamllint
|
||||||
args: [--strict, '.']
|
args: [--strict]
|
||||||
always_run: true
|
types: [file]
|
||||||
pass_filenames: false
|
# Files to include
|
||||||
|
# 1. Obvious YAML files
|
||||||
|
# 2. `pillar.example` and similar files
|
||||||
|
# 3. SLS files under directory `test/` which are pillar files
|
||||||
|
# Files to exclude
|
||||||
|
# 1. SLS files under directory `test/` which are state files
|
||||||
|
# 2. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
|
||||||
|
# 3. YAML files heavily reliant on Jinja
|
||||||
|
files: |
|
||||||
|
(?x)^(
|
||||||
|
.*\.yaml|
|
||||||
|
.*\.yml|
|
||||||
|
\.salt-lint|
|
||||||
|
\.yamllint|
|
||||||
|
.*\.example|
|
||||||
|
test/.*\.sls
|
||||||
|
)$
|
||||||
|
exclude: |
|
||||||
|
(?x)^(
|
||||||
|
kitchen.vagrant.yml|
|
||||||
|
test/.*/states/.*\.sls|
|
||||||
|
salt/osfamilymap.yaml|
|
||||||
|
salt/osmap.yaml|
|
||||||
|
salt/osfingermap.yaml
|
||||||
|
)$
|
||||||
- repo: https://github.com/warpnet/salt-lint
|
- repo: https://github.com/warpnet/salt-lint
|
||||||
rev: v0.9.2
|
rev: v0.9.2
|
||||||
hooks:
|
hooks:
|
||||||
|
|
31
.yamllint
31
.yamllint
|
@ -4,37 +4,6 @@
|
||||||
# Extend the `default` configuration provided by `yamllint`
|
# Extend the `default` configuration provided by `yamllint`
|
||||||
extends: 'default'
|
extends: 'default'
|
||||||
|
|
||||||
# Files to ignore completely
|
|
||||||
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
|
|
||||||
# 2. All YAML files under directory `.cache/`, introduced during the CI run
|
|
||||||
# 3. All YAML files under directory `.git/`
|
|
||||||
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
|
|
||||||
# 5. Any SLS files under directory `test/`, which are actually state files
|
|
||||||
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
|
|
||||||
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
|
|
||||||
# 8. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR
|
|
||||||
ignore: |
|
|
||||||
.bundle/
|
|
||||||
.cache/
|
|
||||||
.git/
|
|
||||||
node_modules/
|
|
||||||
test/**/states/**/*.sls
|
|
||||||
.kitchen/
|
|
||||||
kitchen.vagrant.yml
|
|
||||||
salt/osfamilymap.yaml
|
|
||||||
salt/osmap.yaml
|
|
||||||
salt/osfingermap.yaml
|
|
||||||
|
|
||||||
yaml-files:
|
|
||||||
# Default settings
|
|
||||||
- '*.yaml'
|
|
||||||
- '*.yml'
|
|
||||||
- .salt-lint
|
|
||||||
- .yamllint
|
|
||||||
# SaltStack Formulas additional settings
|
|
||||||
- '*.example'
|
|
||||||
- test/**/*.sls
|
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
empty-values:
|
empty-values:
|
||||||
forbid-in-block-mappings: true
|
forbid-in-block-mappings: true
|
||||||
|
|
Loading…
Reference in New Issue