|
1 | | -.PHONY: all build clean image check vendor dependencies |
2 | | - |
3 | | -NAME := azure-resourcemanager-exporter |
| 1 | +PROJECT_NAME := azure-resourcemanager-exporter |
4 | 2 | GIT_TAG := $(shell git describe --dirty --tags --always) |
5 | 3 | GIT_COMMIT := $(shell git rev-parse --short HEAD) |
6 | | -LDFLAGS := -X "main.gitTag=$(GIT_TAG)" -X "main.gitCommit=$(GIT_COMMIT)" -extldflags "-static" |
7 | | - |
8 | | -PKGS := $(shell go list ./... | grep -v -E '/vendor/|/test') |
9 | | -FIRST_GOPATH := $(firstword $(subst :, ,$(shell go env GOPATH))) |
10 | | -GOLANGCI_LINT_BIN := $(FIRST_GOPATH)/bin/golangci-lint |
| 4 | +LDFLAGS := -X "main.gitTag=$(GIT_TAG)" -X "main.gitCommit=$(GIT_COMMIT)" -extldflags "-static" |
11 | 5 |
|
| 6 | +FIRST_GOPATH := $(firstword $(subst :, ,$(shell go env GOPATH))) |
| 7 | +GOLANGCI_LINT_BIN := $(FIRST_GOPATH)/bin/golangci-lint |
12 | 8 |
|
| 9 | +.PHONY: all |
13 | 10 | all: build |
14 | 11 |
|
| 12 | +.PHONY: clean |
15 | 13 | clean: |
16 | 14 | git clean -Xfd . |
17 | 15 |
|
| 16 | +.PHONY: build |
18 | 17 | build: |
19 | | - CGO_ENABLED=0 go build -a -ldflags '$(LDFLAGS)' -o $(NAME) . |
| 18 | + CGO_ENABLED=0 go build -a -ldflags '$(LDFLAGS)' -o $(PROJECT_NAME) . |
20 | 19 |
|
| 20 | +.PHONY: vendor |
21 | 21 | vendor: |
22 | 22 | go mod tidy |
23 | 23 | go mod vendor |
24 | 24 | go mod verify |
25 | 25 |
|
| 26 | +.PHONY: image |
26 | 27 | image: build |
27 | | - docker build -t $(NAME):$(TAG) . |
| 28 | + docker build -t $(PROJECT_NAME):$(GIT_TAG) . |
28 | 29 |
|
29 | 30 | build-push-development: |
30 | | - docker build -t webdevops/$(NAME):development . && docker push webdevops/$(NAME):development |
| 31 | + docker build -t webdevops/$(PROJECT_NAME):development . && docker push webdevops/$(PROJECT_NAME):development |
31 | 32 |
|
| 33 | +.PHONY: test |
32 | 34 | test: |
33 | 35 | go test ./... |
34 | 36 |
|
35 | 37 | .PHONY: lint |
36 | 38 | lint: $(GOLANGCI_LINT_BIN) |
37 | | - # megacheck fails to respect build flags, causing compilation failure during linting. |
38 | | - # instead, use the unused, gosimple, and staticcheck linters directly |
39 | | - $(GOLANGCI_LINT_BIN) run -D megacheck -E unused,gosimple,staticcheck --timeout=10m |
| 39 | + $(GOLANGCI_LINT_BIN) run -E exportloopref,gofmt --timeout=10m |
40 | 40 |
|
| 41 | +.PHONY: dependencies |
41 | 42 | dependencies: $(GOLANGCI_LINT_BIN) |
42 | | - go mod download |
43 | 43 |
|
44 | 44 | $(GOLANGCI_LINT_BIN): |
45 | | - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(FIRST_GOPATH)/bin v1.30.0 |
46 | | - |
| 45 | + curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(FIRST_GOPATH)/bin v1.32.2 |
0 commit comments