#!/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"