diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..f7a1f09 --- /dev/null +++ b/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")" + +APP=sshkeeper +VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev") +LDFLAGS="-s -w -X main.version=${VERSION}" + +echo "==> Building ${APP} ${VERSION}..." +go build -ldflags "${LDFLAGS}" -o bin/${APP} . + +echo "==> OK: bin/${APP}" +ls -lh bin/${APP} diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..583130e --- /dev/null +++ b/release.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")" + +APP=sshkeeper +VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev") +LDFLAGS="-s -w -X main.version=${VERSION}" +DIST_DIR="dist" + +echo "==> Building release ${APP} ${VERSION}..." + +rm -rf "${DIST_DIR}" +mkdir -p "${DIST_DIR}" + +# Linux amd64 +echo "==> linux/amd64..." +GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "${LDFLAGS}" -o "${DIST_DIR}/${APP}" . +tar -czf "${DIST_DIR}/${APP}_${VERSION}_linux_amd64.tar.gz" -C "${DIST_DIR}" "${APP}" +rm -f "${DIST_DIR}/${APP}" + +# Linux arm64 +echo "==> linux/arm64..." +GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags "${LDFLAGS}" -o "${DIST_DIR}/${APP}" . +tar -czf "${DIST_DIR}/${APP}_${VERSION}_linux_arm64.tar.gz" -C "${DIST_DIR}" "${APP}" +rm -f "${DIST_DIR}/${APP}" + +echo "==> Done." +ls -lh "${DIST_DIR}/"*.tar.gz