@@ -160,8 +160,12 @@ lint-fix: golangci-lint ## Run golangci-lint linter and perform fixes
160160ci-lint : golangci-lint
161161 $(GOLANGCI_LINT ) run --timeout 15m0s
162162
163+ .PHONY : api-lint
164+ api-lint : golangci-api-lint
165+ $(GOLANGCI_API_LINT ) run -c .golangci-kal.yml --timeout 15m0s ./...
166+
163167.PHONY : verify
164- verify : vet fmt-verify generate ci-lint verify-all
168+ verify : vet fmt-verify generate ci-lint api-lint verify-all
165169 git --no-pager diff --exit-code config api client-go
166170
167171.PHONY : verify-crds
@@ -366,6 +370,7 @@ CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
366370ENVTEST ?= $(LOCALBIN ) /setup-envtest
367371CRD_REF_DOCS ?= $(LOCALBIN ) /crd-ref-docs
368372GOLANGCI_LINT = $(LOCALBIN ) /golangci-lint
373+ GOLANGCI_API_LINT = $(LOCALBIN ) /golangci-kube-api-linter
369374HELM = $(PROJECT_DIR ) /bin/helm
370375YQ = $(PROJECT_DIR ) /bin/yq
371376KUBECTL_VALIDATE = $(PROJECT_DIR ) /bin/kubectl-validate
@@ -407,6 +412,11 @@ golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary.
407412$(GOLANGCI_LINT ) : $(LOCALBIN )
408413 $(call go-install-tool,$(GOLANGCI_LINT ) ,github.com/golangci/golangci-lint/v2/cmd/golangci-lint,$(GOLANGCI_LINT_VERSION ) )
409414
415+ .PHONY : golangci-api-lint
416+ golangci-api-lint : golangci-lint $(GOLANGCI_API_LINT ) # # Download golangci-lint locally if necessary before building KAL
417+ $(GOLANGCI_API_LINT ) :
418+ $(GOLANGCI_LINT ) custom
419+
410420.PHONY : yq
411421yq : # # Download yq locally if necessary.
412422 GOBIN=$(PROJECT_DIR ) /bin GO111MODULE=on go install github.com/mikefarah/yq/v4@$(YQ_VERSION )
0 commit comments