podman
34 строки · 946.0 Байт
1GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
2GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
3
4GO_SEC=$(shell which gosec 2> /dev/null || echo '')
5GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
6
7GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
8GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
9
10.PHONY: verify
11verify: sec govulncheck lint test
12
13.PHONY: lint
14lint:
15$(if $(GO_LINT), ,go install $(GO_LINT_URI))
16@echo "##### Running golangci-lint #####"
17golangci-lint run -v
18
19.PHONY: sec
20sec:
21$(if $(GO_SEC), ,go install $(GO_SEC_URI))
22@echo "##### Running gosec #####"
23gosec ./...
24
25.PHONY: govulncheck
26govulncheck:
27$(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
28@echo "##### Running govulncheck #####"
29govulncheck ./...
30
31.PHONY: test
32test:
33@echo "##### Running tests #####"
34go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...
35