feat: publish verifiable proxyctl v1
This commit is contained in:
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/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"
|
||||
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"
|
||||
Reference in New Issue
Block a user