1
1
GITHUB_ORG = QubitProducts
2
2
GITHUB_REPO = exporter_exporter
3
+ VERSION = 0.3.0
3
4
4
5
DOCKER_REGISTRY = qubitproducts
5
6
DOCKER_NAME = exporter_exporter
@@ -12,11 +13,10 @@ FIRST_GOPATH := $(firstword $(subst :, ,$(GOPATH)))
12
13
FILES = $(shell find . -name '* .go' | grep -v vendor)
13
14
PREFIX ?= $(shell pwd)
14
15
BIN_DIR ?= $(shell pwd)
15
- VERSION ?= $(shell cat VERSION)
16
16
17
17
PACKAGE_TARGET = deb
18
18
PACKAGE_NAME = expexp
19
- PACKAGE_VERSION = $(shell cat VERSION)
19
+ PACKAGE_VERSION = $(VERSION )
20
20
PACKAGE_REVISION = 3
21
21
PACKAGE_ARCH = amd64
22
22
PACKAGE_MAINTAINER =
[email protected]
52
52
echo " >> vetting code"
53
53
$(GO ) vet $(pkgs )
54
54
55
- vendor : go.mod go.sum
56
- go mod vendor
57
-
58
- .PHONY : build
59
- build : vendor promu
60
- echo " >> building binaries"
61
- ./promu build --prefix $(PREFIX )
62
-
63
- .PHONY : tarball
64
- tarball : promu
65
- echo " >> building release tarball"
66
- ./promu tarball --prefix $(PREFIX ) $(BIN_DIR )
67
-
68
- .PHONY : promu
69
- promu :
70
- echo " >> fetching promu"
71
- GOOS=$(shell uname -s | tr A-Z a-z) \
72
- GOARCH=$(subst x86_64,amd64,$(patsubst i% 86,386,$(shell uname -m) ) ) \
73
- $(GO ) build -o promu github.com/prometheus/promu
74
-
75
- .PHONY : github-release
76
- github-release :
77
- echo " >> fetching github-release"
78
- GOOS=$(shell uname -s | tr A-Z a-z) \
79
- GOARCH=$(subst x86_64,amd64,$(patsubst i% 86,386,$(shell uname -m) ) ) \
80
- $(GO ) build -o github-release github.com/aktau/github-release
81
-
82
- .PHONY : release
83
- release : promu github-release package
84
- echo " >> crossbuilding binaries"
85
- ./promu crossbuild
86
- echo " >> crossbuilding tarballs"
87
- ./promu crossbuild tarballs
88
- echo " >> creating github release"
89
- ./github-release release -u $(GITHUB_ORG ) -r $(GITHUB_REPO ) --tag v$(VERSION ) --name v$(VERSION )
90
- echo " >> uploading artifacts"
91
- ./promu release .tarballs
92
- echo " >> uploading deb"
93
- ./github-release upload -u $(GITHUB_ORG ) -r $(GITHUB_REPO ) --tag v$(VERSION ) --name $(PACKAGE_FILE ) --file $(PACKAGE_FILE )
94
-
95
55
.PHONY : prepare-package clean-package package
96
- prepare-package : clean-package
97
- echo " >> crossbuilding binaries"
98
- ./promu crossbuild -p linux/amd64
56
+ prepare-package : clean-package build/exporter_exporter-$(VERSION ) .linux-amd64/exporter_exporter
99
57
mkdir -p dist/usr/local/bin
100
58
mkdir -p dist/etc/init
101
59
mkdir -p dist/etc/default
@@ -135,3 +93,55 @@ release-docker: build-docker
135
93
docker push $(DOCKER_IMAGE )
136
94
docker tag $(DOCKER_IMAGE ) $(DOCKER_IMAGE_LATEST )
137
95
docker push $(DOCKER_IMAGE_LATEST )
96
+
97
+ LDFLAGS = -X main.Version=$(VERSION ) \
98
+ -X main.Branch=$(BRANCH ) \
99
+ -X main.Revision=$(REVISION ) \
100
+ -X main.BuildUser=$(BUILDUSER ) \
101
+ -X main.BuildDate=$(BUILDDATE )
102
+
103
+ build/expoter_exporter-$(VERSION ) .windows-amd64/exporter_exporter.exe : $(SRCS ) version.go
104
+ GOOS=$* GOARCH=amd64 $(GO ) go build \
105
+ -ldflags " $( LDFLAGS) " \
106
+ -o $@ \
107
+ .
108
+
109
+ build/exporter_exporter-$(VERSION ) .% -amd64/exporter_exporter : $(SRCS ) version.go
110
+ GOOS=$* GOARCH=amd64 $(GO ) build \
111
+ -ldflags " $( LDFLAGS) " \
112
+ -o $@ \
113
+ .
114
+
115
+ build/exporter_exporter-$(VERSION ) .windows-amd64.tar.gz : build/exporter_exporter-$(VERSION ) .windows-amd64/exporter_exporter.exe
116
+ cd build && \
117
+ tar cfzv exporter_exporter-$(VERSION ) .windows-amd64.tar.gz exporter_exporter-$(VERSION ) .windows-amd64
118
+
119
+ build/exporter_exporter-$(VERSION ) .% -amd64.tar.gz : build/exporter_exporter-$(VERSION ) .% -amd64/exporter_exporter
120
+ cd build && \
121
+ tar cfzv exporter_exporter-$(VERSION ) .$* -amd64.tar.gz exporter_exporter-$(VERSION ) .$* -amd64
122
+
123
+ package-release : build/exporter_exporter-$(VERSION ) .% -amd64.tar.gz $(PACKAGE_FILE )
124
+ go run github.com/aktau/github-release upload \
125
+ -u $(GITHUB_ORG ) \
126
+ -r $(GITHUB_REPO ) \
127
+ --tag v$(VERSION ) \
128
+ --name $(PACKAGE_FILE ) \
129
+ --file $(PACKAGE_FILE )
130
+
131
+ release-% : build/exporter_exporter-$(VERSION ) .% -amd64.tar.gz $(PACKAGE_FILE )
132
+ go run github.com/aktau/github-release upload \
133
+ -u $(GITHUB_USER ) \
134
+ -r $(GITHUB_REPO ) \
135
+ --tag v$(VERSION ) \
136
+ --name exporter_exporter-$(VERSION ) .$* -amd64.tar.gz \
137
+ -f ./build/exporter_exporter-$(VERSION ) .$* -amd64.tar.gz
138
+
139
+ release :
140
+ git tag v$(VERSION )
141
+ git push origin v$(VERSION )
142
+ go run github.com/aktau/github-release release \
143
+ -u $(GITHUB_USER ) \
144
+ -r $(GITHUB_REPO ) \
145
+ --tag v$(VERSION ) \
146
+ --name v$(VERSION )
147
+ make release-darwin release-linux release-windows package-release
0 commit comments