Files
proxy/scripts/build-release.sh
T

40 lines
895 B
Bash
Executable File

#!/bin/sh
set -eu
repo=$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)
out=${1:-"$repo/dist"}
: "${VERSION:?set VERSION to the release version, for example v1.0.0}"
case $VERSION in
*[!A-Za-z0-9._+-]*|'')
echo "VERSION contains unsupported characters: $VERSION" >&2
exit 2
;;
esac
mkdir -p "$out"
out=$(CDPATH= cd -- "$out" && pwd)
rm -f "$out/proxyctl-linux-amd64" "$out/proxyctl-linux-arm64" "$out/SHA256SUMS"
build() {
arch=$1
output="$out/proxyctl-linux-$arch"
(
cd "$repo"
GOENV=off GOFLAGS= CGO_ENABLED=0 GOOS=linux GOARCH="$arch" \
go build -mod=readonly -buildvcs=false -trimpath \
-ldflags="-s -w -X main.version=$VERSION" \
-o "$output" ./cmd/proxyctl
)
}
umask 022
build amd64
build arm64
(
cd "$out"
sha256sum proxyctl-linux-amd64 proxyctl-linux-arm64 > SHA256SUMS
)
printf 'built Linux amd64 and arm64 binaries in %s\n' "$out"