@@ -57,42 +57,62 @@ jobs:
5757 - run :
5858 name : Build binaries
5959 command : |
60- export CC="$(xcc linux x86_64)"
61- export CGO_ENABLED=1
60+ mkdir -p ./bins/linux-amd64 \
61+ ./bins/linux-arm64 \
62+ ./artifacts
63+
64+ build() {
65+ for binary in \
66+ influx \
67+ influx_inspect \
68+ influxd
69+ do
70+ go build \
71+ -tags "netgo,osusergo,static_build" \
72+ -buildmode=pie \
73+ -ldflags="-s
74+ -X \"main.version=${VERSION}\"
75+ -X \"main.branch=${CIRCLE_BRANCH}\"
76+ -X \"main.commit=${CIRCLE_SHA1}\"
77+ -linkmode=external
78+ -extld=${CC}
79+ -extldflags \"-fno-PIC -static-pie -Wl,-z,stack-size=8388608\"" \
80+ -o "bins/${GOOS}-${GOARCH}/${binary}" \
81+ "github.com/influxdata/influxdb/cmd/${binary}"
82+ done
83+ }
84+
85+ archive() {
86+ target="artifacts/influxdb_bin_${GOOS}_${GOARCH}-${CIRCLE_SHA1}.tar.gz"
87+ tar -czf "${target}" -C "bins/${GOOS}-${GOARCH}" \
88+ influx \
89+ influx_inspect \
90+ influxd
91+ md5sum "${target}" > "${target}.md5"
92+ sha256sum "${target}" > "${target}.sha256"
93+ }
6294
6395 # linux amd64 (static build)
64- export GOOS=linux
96+ export CC="$(xcc linux x86_64)"
97+ export CGO_ENABLED=1
6598 export GOARCH=amd64
66- for cmd in github.com/influxdata/influxdb/cmd/{influxd,influx,influx_inspect}
67- do
68- go build \
69- -tags "netgo,osusergo,static_build" \
70- -buildmode=pie \
71- -ldflags="-s
72- -X \"main.version=${VERSION}\"
73- -X \"main.branch=${CIRCLE_BRANCH}\"
74- -X \"main.commit=${CIRCLE_SHA1}\"
75- -linkmode=external
76- -extld=${CC}
77- -extldflags \"-fno-PIC -static-pie -Wl,-z,stack-size=8388608\"" \
78- ${cmd}
79- done
80-
81- mkdir -p ./bins
99+ export GOOS=linux
100+ build
101+ archive
82102
83- target="bins/influxdb_bin_${GOOS}_${GOARCH}-${CIRCLE_SHA1}.tar.gz"
84- tar -czf "${target}" \
85- influx \
86- influx_inspect \
87- influxd
88- md5sum "${target}" > "${target}.md5"
89- sha256sum "${target}" > "${target}.sha256"
103+ # linux arm64 (static build)
104+ export CC="$(xcc linux aarch64)"
105+ export CGO_ENABLED=1
106+ export GOARCH=arm64
107+ export GOOS=linux
108+ build
109+ archive
90110 - store_artifacts :
91- path : bins /
111+ path : artifacts /
92112 - persist_to_workspace :
93113 root : .
94114 paths :
95- - bins
115+ - artifacts
96116 - save_cache :
97117 key : influxdb-cache-v1-{{ checksum "go.mod" }}
98118 paths :
0 commit comments