go-xkcdreader/.pre-commit-config.yaml
surtur c3d18b5250
All checks were successful
continuous-integration/drone/push Build is passing
pre-commit: optimise local hook triggers
* rm 'require_serial = false' occurences as that's the default value,
  which makes it redundant here.
* do not "always_run" hooks
* only run relevant local hooks when pertaining files/file groups have
  changed, e.g. there is no need to run statix linter when no nix files
  have changed or equally it is not necessary to run 'nix build' when
  none of the flake files (flake.{nix,lock}), any '*.nix' or go source,
  mod or sum files have changed.
  all of the above results in much faster pre-commit runs, i.e. shorter
  feedback loops, i.e. faster iteration cycles.
2022-05-24 12:20:52 +02:00

72 lines
1.9 KiB
YAML

# Copyright 2022 wanderer <a_mirre at utb dot cz>
# SPDX-License-Identifier: GPL-3.0-or-later
---
fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
hooks:
- id: check-merge-conflict
- repo: meta
hooks:
- id: check-hooks-apply
- repo: local
hooks:
- id: statix
name: statix
entry: statix check .
always_run: false
pass_filenames: false
files: '\.*.nix$'
language: system
- id: nixpkgs-fmt
name: nixpkgs-fmt
entry: ./check-fmt
always_run: false
pass_filenames: false
files: '\.*.nix$'
language: system
- id: flake-check
name: nix flake check
entry: nix flake check --impure
always_run: false
pass_filenames: false
files: "flake.(nix|lock)$"
language: system
- id: addlicense
name: addlicence -check
entry: >
go run github.com/google/addlicense@v1.0.0 -check -v
pass_filenames: true
types_or: ["go", "yaml"]
exclude: "^.drone.*"
language: system
- repo: https://github.com/dnephin/pre-commit-golang
rev: v0.5.0
hooks:
- id: go-fmt
- id: go-vet
- id: go-imports
- id: go-cyclo
args: [-over=15]
- id: golangci-lint
- id: go-unit-tests
- id: go-build
- id: go-mod-tidy
- repo: https://github.com/tekwizely/pre-commit-golang
rev: v1.0.0-beta.5
hooks:
- id: go-revive-mod
- id: go-sec-mod
- repo: local
hooks:
- id: nix-build
name: nix build
entry: nix build .#go-xkcdreader
pass_filenames: false
# trigger this hook on changes to any of nix (also flake.lock) files
# and go's src, mod or sum files
files: '\.*.(nix|lock|go|mod|sum)$'
language: system