forked from v3io/flex-fuse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
84 lines (74 loc) · 1.96 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
RPM_PATH = "iguazio_yum"
DEB_PATH = "iguazio_deb"
BINARY_NAME = "igz-fuse"
RELEASE_VERSION = "0.6.1"
DOCKER_HUB_USER = "iguaziodocker"
QUAY_IO_USER = "quay.io/iguazio"
FULL_VERSION = $(RELEASE_VERSION)-$(IGUAZIO_VERSION:igz_%=%)
.PHONY: build
build: lint vet
docker build --tag $(DOCKER_HUB_USER)/flex-fuse:unstable .
.PHONY: download
download:
@rm -rf hack/libs/${BINARY_NAME}*
@cd hack/libs && wget --quiet $(MIRROR)/$(RPM_PATH)/$(IGUAZIO_VERSION)/$(BINARY_NAME).rpm
@cd hack/libs && wget --quiet $(MIRROR)/$(DEB_PATH)/$(IGUAZIO_VERSION)/$(BINARY_NAME).deb
@touch hack/libs/$(IGUAZIO_VERSION)
.PHONY: release
release: check-req download build
docker tag $(DOCKER_HUB_USER)/flex-fuse:unstable $(DOCKER_HUB_USER)/flex-fuse:$(FULL_VERSION)
docker tag $(DOCKER_HUB_USER)/flex-fuse:unstable $(QUAY_IO_USER)/flex-fuse:$(FULL_VERSION)
echo $(FULL_VERSION) > VERSION
check-req:
ifndef MIRROR
$(error MIRROR must be set)
endif
ifndef IGUAZIO_VERSION
$(error IGUAZIO_VERSION must be set)
endif
ifndef RELEASE_VERSION
$(error RELEASE_VERSION must be set)
endif
.PHONY: lint
lint: ensure-gopath
@echo Installing linters...
go get -u gopkg.in/alecthomas/gometalinter.v2
@$(GOPATH)/bin/gometalinter.v2 --install
@echo Linting...
@$(GOPATH)/bin/gometalinter.v2 \
--deadline=300s \
--disable-all \
--enable-gc \
--enable=deadcode \
--enable=goconst \
--enable=gofmt \
--enable=golint \
--enable=gosimple \
--enable=ineffassign \
--enable=interfacer \
--enable=misspell \
--enable=staticcheck \
--enable=unconvert \
--enable=varcheck \
--enable=vet \
--enable=vetshadow \
--enable=errcheck \
--exclude="_test.go" \
--exclude="comment on" \
--exclude="error should be the last" \
--exclude="should have comment" \
./cmd/... ./pkg/...
@echo Done.
.PHONY: vet
vet:
go vet ./cmd/...
go vet ./pkg/...
.PHONY: test
test:
go test -v ./cmd/...
go test -v ./pkg/...
.PHONY: ensure-gopath
check-gopath:
ifndef GOPATH
$(error GOPATH must be set)
endif