|
- GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
- GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
-
- GO_SEC=$(shell which gosec 2> /dev/null || echo '')
- GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
-
- GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
- GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
-
- .PHONY: verify
- verify: sec govulncheck lint test
-
- .PHONY: lint
- lint:
- $(if $(GO_LINT), ,go install $(GO_LINT_URI))
- @echo "##### Running golangci-lint #####"
- golangci-lint run -v
-
- .PHONY: sec
- sec:
- $(if $(GO_SEC), ,go install $(GO_SEC_URI))
- @echo "##### Running gosec #####"
- gosec ./...
-
- .PHONY: govulncheck
- govulncheck:
- $(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
- @echo "##### Running govulncheck #####"
- govulncheck ./...
-
- .PHONY: test
- test:
- @echo "##### Running tests #####"
- go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...
|