2019-10-29 10:27:08 -07:00
#!/usr/bin/env bash
set -o errexit
if [ [ -z ${ BINARY } ] ] || [ [ -z ${ VERSION } ] ] ; then
echo " Missing required env var: BINARY=X VERSION=X $( basename $0 ) "
exit 1
fi
2017-11-20 14:35:59 -05:00
2022-02-17 22:59:11 +01:00
ARCHS = ( darwin-amd64 linux-amd64 linux-arm64 linux-ppc64le linux-armv6 freebsd-amd64 windows-amd64)
2019-10-29 10:27:08 -07:00
mkdir -p release
# Create architecture specific release dirs
for ARCH in " ${ ARCHS [@] } " ; do
2020-08-25 16:41:14 +01:00
mkdir -p release/${ BINARY } -${ VERSION } .${ ARCH }
2019-10-29 10:27:08 -07:00
GO_OS = $( echo $ARCH | awk -F- '{print $1}' )
GO_ARCH = $( echo $ARCH | awk -F- '{print $2}' )
# Create architecture specific binaries
if [ [ ${ GO_ARCH } = = "armv6" ] ] ; then
2020-01-28 09:05:04 +00:00
GO111MODULE = on GOOS = ${ GO_OS } GOARCH = arm GOARM = 6 CGO_ENABLED = 0 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
2021-02-06 23:19:33 +00:00
-o release/${ BINARY } -${ VERSION } .${ ARCH } /${ BINARY } .
2019-10-29 10:27:08 -07:00
else
2020-01-28 09:05:04 +00:00
GO111MODULE = on GOOS = ${ GO_OS } GOARCH = ${ GO_ARCH } CGO_ENABLED = 0 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
2021-02-06 23:19:33 +00:00
-o release/${ BINARY } -${ VERSION } .${ ARCH } /${ BINARY } .
2019-10-29 10:27:08 -07:00
fi
cd release
# Create sha256sum for architecture specific binary
2020-08-25 16:41:14 +01:00
sha256sum ${ BINARY } -${ VERSION } .${ ARCH } /${ BINARY } > ${ BINARY } -${ VERSION } .${ ARCH } -sha256sum.txt
2019-10-29 10:27:08 -07:00
# Create tar file for architecture specific binary
2020-08-25 16:41:14 +01:00
tar -czvf ${ BINARY } -${ VERSION } .${ ARCH } .tar.gz ${ BINARY } -${ VERSION } .${ ARCH }
2019-10-29 10:27:08 -07:00
cd ..
2017-11-20 14:35:59 -05:00
done