diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6319c290..96f5511e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,31 @@ repos: - repo: local hooks: + - id: golangci-lint + name: golangci-lint + language: golang + types: [go] + entry: make + args: ["golangci-lint"] + pass_filenames: false + - id: gofmt + name: gofmt + language: system + entry: make + args: ["fmt"] + pass_filenames: false + - id: govet + name: govet + language: system + entry: make + args: ["vet"] + pass_filenames: false + - id: gotidy + name: gotidy + language: system + entry: make + args: ["tidy"] + pass_filenames: false - id: make-manifests name: make-manifests language: system @@ -60,4 +85,4 @@ repos: rev: 2.1.1 hooks: - id: bashate - entry: bashate --error . --ignore=E006,E040,E043 + entry: bashate --error . --ignore=E006,E040,E011,E020,E012 diff --git a/Makefile b/Makefile index 856e574f..38eaf56e 100644 --- a/Makefile +++ b/Makefile @@ -104,6 +104,14 @@ vet: gowork ## Run go vet against code. go vet ./... go vet ./api/... +.PHONY: tidy + go mod tidy + +.PHONY: golangci-lint +golangci-lint: + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.51.2 + $(LOCALBIN)/golangci-lint run --fix + .PHONY: test test: manifests generate fmt vet envtest ## Run tests. KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... ./api/... -coverprofile cover.out