diff --git a/.gitignore b/.gitignore index 485dee6..d5502c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .idea + +/dist diff --git a/misc/release.sh b/misc/release.sh new file mode 100755 index 0000000..3f73fbc --- /dev/null +++ b/misc/release.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e + +PLATFORMS=( + "linux/amd64" + "linux/arm64" + "darwin/amd64" + "darwin/arm64" + "windows/amd64" + "windows/386" +) + +DEST_DIR=${DEST_DIR:-"dist"} + +for PLATFORM in "${PLATFORMS[@]}"; do + GOOS=${PLATFORM%/*} + GOARCH=${PLATFORM#*/} + echo "Building for $GOOS/$GOARCH" + + FILENAME="um-$GOOS-$GOARCH" + if [ "$GOOS" = "windows" ]; then + FILENAME="$FILENAME.exe" + fi + + GOOS=$GOOS GOARCH=$GOARCH go build -v \ + -o "${DEST_DIR}/${FILENAME}" \ + -ldflags "-s -w -X main.AppVersion=$(git describe --tags --always --dirty)" \ + ./cmd/um +done + +cd "$DEST_DIR" +sha256sum um-* > sha256sums.txt \ No newline at end of file