-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
38 lines (27 loc) · 879 Bytes
/
Makefile
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
.PHONY: check test lint fmt fmt-check
check: test-gen lint test fmt-check
test: test-gen
go test ./... -race -v -coverprofile="coverage.txt" -covermode=atomic
lint:
go vet ./...
staticcheck ./...
fmt:
gofmt -w -s **/*.go *.go
goimports -w */**.go *.go
fmt-check:
goimports -l **/*.go *.go | grep [^*][.]go$$; \
EXIT_CODE=$$?; \
if [ $$EXIT_CODE -eq 0 ]; then exit 1; fi
test-gen: clean-test-gen
go generate ./...
clean-test-gen:
rm -rf ./cmd/taqc/internal/tests/*_gen.go
clean:
rm -f ./dist/taqc_*
GOLANG_CONTAINER := "golang:1.17.3-bullseye"
build:
docker run -it --rm --env GOOS=$(GOOS) --env GOARCH=$(GOARCH) -v $(shell pwd):/taqc -w /taqc $(GOLANG_CONTAINER) \
go build \
-ldflags '-X "main.revision=$(shell git rev-parse HEAD)" -X "main.version=$(shell git describe --abbrev=0 --tags)"' \
-o dist/taqc_$(GOOS)_$(GOARCH) \
./cmd/taqc/taqc.go