@@ -193,6 +193,9 @@ KUSTOMIZE_VERSION ?= v5.3.0
193193CONTROLLER_TOOLS_VERSION ?= v0.16.4
194194ENVTEST_VERSION ?= release-0.19
195195GOLANGCI_LINT_VERSION ?= v2.0.2
196+ GOVULNCHECK_VERSION ?= v1.1.4
197+ # parameters to pass to govulnscan
198+ GOVULNCHECK_OPTS ?=
196199# update for major version updates to YQ_VERSION!
197200YQ_API_VERSION = v4
198201YQ_VERSION = v4.41.1
@@ -202,6 +205,7 @@ CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen-$(CONTROLLER_TOOLS_VERSION)
202205ENVTEST ?= $(LOCALBIN ) /setup-envtest-$(ENVTEST_VERSION )
203206GOLANGCI_LINT = $(LOCALBIN ) /golangci-lint-$(GOLANGCI_LINT_VERSION )
204207YQ = $(LOCALBIN ) /yq-$(YQ_VERSION )
208+ GOVULNCHECK ?= $(LOCALBIN ) /govulncheck-$(GOVULNCHECK_VERSION )
205209
206210# # Tool Versions
207211OPERATOR_SDK_VERSION ?= v1.37.0
@@ -232,6 +236,15 @@ $(KUSTOMIZE): $(LOCALBIN)
232236envtest : # # Download envtest-setup locally if necessary.
233237 $(call go-install-tool,$(ENVTEST ) ,sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION ) )
234238
239+ .PHONY : govulncheck
240+ govulncheck : $(GOVULNCHECK ) # # Download govulncheck
241+ $(GOVULNCHECK ) : $(LOCALBIN )
242+ $(call go-install-tool,$(GOVULNCHECK ) ,golang.org/x/vuln/cmd/govulncheck,$(GOVULNCHECK_VERSION ) )
243+
244+ .PHONY : govulnscan
245+ govulnscan : govulncheck
246+ $(GOVULNCHECK ) $(GOVULNCHECK_OPTS ) ./... 2>&1 | tee govulncheck.results
247+
235248# go-get-tool will 'go get' any package $2 and install it to $1.
236249PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST ) ) ) )
237250# go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist
0 commit comments