-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (34 loc) · 1.17 KB
/
Makefile
File metadata and controls
48 lines (34 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
BINDIR := $(CURDIR)/bin
GO_TEST = go test -covermode=atomic
GO_COVER = go tool cover
GO_BENCH = go test -bench=.
GO_BIN := $(BINDIR)
PATH := $(GOBIN):$(PATH)
OS := $(shell uname)
GOLANGCI_LINT_VERSION=1.41.1
ifeq ($(OS),Darwin)
GOLANGCI_LINT_ARCHIVE=golangci-lint-$(GOLANGCI_LINT_VERSION)-darwin-amd64.tar.gz
else
GOLANGCI_LINT_ARCHIVE=golangci-lint-$(GOLANGCI_LINT_VERSION)-linux-amd64.tar.gz
endif
all: test
.PHONY: all
.PHONY: test
test:
$(GO_TEST) ./...
clean: ## clean up
rm -rf tmp/
.PHONY: clean
lint: $(GO_BIN)/golangci-lint/golangci-lint ## lint
$(GO_BIN)/golangci-lint/golangci-lint run
.PHONY: lint
$(GO_BIN)/golangci-lint/golangci-lint:
curl -OL https://github.com/golangci/golangci-lint/releases/download/v$(GOLANGCI_LINT_VERSION)/$(GOLANGCI_LINT_ARCHIVE)
mkdir -p $(GO_BIN)/golangci-lint/
tar -xf $(GOLANGCI_LINT_ARCHIVE) --strip-components=1 -C $(GO_BIN)/golangci-lint/
chmod +x $(GO_BIN)/golangci-lint
rm -f $(GOLANGCI_LINT_ARCHIVE)
# 'help' parses the Makefile and displays the help text
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
.PHONY: help