-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
45 lines (37 loc) · 1.1 KB
/
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
38
39
40
41
42
43
44
45
BUILD_NUMBER=$(shell git rev-parse --short HEAD)
setup:
go mod download
docker pull golangci/golangci-lint:latest-alpine
.PHONY: setup
build:
go build -v -o smoker ./cmd/smoker
.PHONY: build
clean:
rm -f smoker
rm -f bin/smoker*
rm -f dist/smoker*
mkdir -p bin
mkdir -p dist
.PHONY: clean
lint:
go vet ./...
staticcheck ./...
docker run --rm -v ${PWD}:/app -w /app golangci/golangci-lint:latest-alpine golangci-lint run
.PHONY: lint
test:
go test -race -v -covermode=atomic ./...
.PHONY: test
coverage:
go test -race -v -coverprofile=coverage.txt -covermode=atomic ./...
go tool cover -html=coverage.txt
.PHONY: coverage
release: clean
GOOS=darwin GOARCH=amd64 go build -o "bin/smoker_darwin_amd64" ./cmd/smoker
GOOS=darwin GOARCH=386 go build -o "bin/smoker_darwin_386" ./cmd/smoker
GOOS=linux GOARCH=amd64 go build -o "bin/smoker_linux_amd64" ./cmd/smoker
GOOS=linux GOARCH=386 go build -o "bin/smoker_linux_386" ./cmd/smoker
tar -zvcf dist/smoker-$(BUILD_NUMBER).tar.gz bin/smoker*
.PHONY: release
dockerbuild:
docker build --tag smoker:$(git describe --abbrev=0) .
.PHONY: dockerbuild