-
Notifications
You must be signed in to change notification settings - Fork 77
/
GNUmakefile
67 lines (50 loc) · 1.58 KB
/
GNUmakefile
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
SHELL=/bin/bash
export PATH:=/usr/local/go/bin:~/go/bin/:$(PATH)
TEST?=$$(go list ./...)
GOFMT_FILES?=$$(find . -name '*.go')
PKG_NAME=opentelekomcloud
default: build
build: fmtcheck
go install
release:
goreleaser release
snapshot:
goreleaser release --snapshot --parallelism 2 --clean
test: fmtcheck
go test -v ./...
acceptance: fmtcheck
@bash "$(CURDIR)/scripts/run-acceptance.sh"
vet:
@echo "go vet ."
@go vet $$(go list ./...); if [ $$? -eq 1 ]; then \
echo ""; \
echo "Vet found suspicious constructs. Please check the reported constructs"; \
echo "and fix them if necessary before submitting the code for review."; \
exit 1; \
fi
fmt:
@gofmt -w $(GOFMT_FILES)
fmtcheck:
@sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"
errcheck:
@sh -c "'$(CURDIR)/scripts/errcheck.sh'"
lint:
golangci-lint run ./...
test-compile:
@if [ "$(TEST)" = "./..." ]; then \
echo "ERROR: Set TEST to a specific package. For example,"; \
echo " make test-compile TEST=./$(PKG_NAME)"; \
exit 1; \
fi
go test -c $(TEST)
tools:
@echo "==> installing required tooling..."
go install github.com/katbyte/terrafmt@latest
tflint: tools
./scripts/run-tflint.sh
tffmtfix: tools
@echo "==> Fixing acceptance test terraform blocks code with terrafmt..."
@find ./opentelekomcloud/acceptance -type f -name "*_test.go" | sort | while read f; do terrafmt fmt -f $$f; done
@echo "==> Fixing docs terraform blocks code with terrafmt..."
@find ./docs -type f -name "*.md" | sort | while read f; do terrafmt fmt $$f; done
.PHONY: build test acceptance vet fmt fmtcheck errcheck test-compile tflint tffmtfix lint