refactor(management): add hadolint to lefthook's hook

This commit is contained in:
Michele Cereda
2024-02-17 19:54:22 +01:00
parent 7ff56de4c0
commit d4a031b2c3
2 changed files with 26 additions and 6 deletions

View File

@@ -1,21 +1,36 @@
assert_lefthook_installed: true
no_tty: true
lint:
parallel: true
commands:
hadolint: &hadolint
# The official docker image is based on scratch and only takes only one
# input file at a time. I have no clue how to fix that for now so let's
# just use the local command.
glob: "*Dockerfile*"
run: hadolint {all_files}
yamllint: &yamllint
glob: "*.{yaml,yml}"
run: >-
docker run --rm -v "$PWD:/code" 'registry.gitlab.com/pipeline-components/yamllint:latest'
yamllint '.'
yamllint {all_files}
pre-commit:
parallel: true
commands:
hadolint:
<<: *hadolint
run: hadolint {staged_files}
yamllint:
<<: *yamllint
run: >-
docker run --rm -v "$PWD:/code" 'registry.gitlab.com/pipeline-components/yamllint:latest'
yamllint {staged_files}
# commit-msg:
# commands:
# commitlint:
# run: commitlint --edit
commit-msg:
commands:
commitlint:
# No official docker image available for now, falling back to the local
# command.
run: commitlint --edit

View File

@@ -37,13 +37,15 @@ lefthook add -dv 'commit-msg'
# Execute groups of hooks.
lefthook run 'pre-push'
lefthook run -v 'lint' --all-files
lefthook run 'pre-commit' -n --commands 'lint' --files 'lefthook.yml'
lefthook run 'pre-commit' -n --commands 'hadolint' --files 'lefthook.yml'
# Remove configured hooks from the current git repository.
lefthook uninstall
lefthook uninstall -cv
```
Uses the [glob library] for glob patterns.
## Configuration
Configuration files can be written in JSON, TOML or YAML.<br/>
@@ -93,3 +95,6 @@ All the references in the [further readings] section, plus the following:
[configuration]: https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md
[github]: https://github.com/evilmartians/lefthook
[lefthook: knock your team's code back into shape]: https://evilmartians.com/chronicles/lefthook-knock-your-teams-code-back-into-shape
<!-- Others -->
[glob library]: https://github.com/gobwas/glob