#!/usr/bin/env bash set -euo pipefail VERSION="${VERSION:-dev}" OUT_DIR="${OUT_DIR:-dist-release}" SKIP_FRONTEND="${SKIP_FRONTEND:-0}" ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" OUT="$ROOT/$OUT_DIR" if [[ "$SKIP_FRONTEND" != "1" ]]; then for app in admin portal; do web_dir="$ROOT/web/$app" if [[ ! -d "$web_dir/node_modules" ]]; then (cd "$web_dir" && npm install) fi (cd "$web_dir" && npm run build) done fi mkdir -p "$OUT" build_target() { local goos="$1" local goarch="$2" local name="$3" (cd "$ROOT" && \ GOOS="$goos" GOARCH="$goarch" CGO_ENABLED=0 \ go build -tags embed_web -buildvcs=false -trimpath -ldflags "-s -w -X ymhut-box/server/unified-management/internal/config.Version=$VERSION" \ -o "$OUT/$name" ./cmd/unified-management) } build_target windows amd64 ymhut-unified-management-windows-amd64.exe build_target linux amd64 ymhut-unified-management-linux-amd64 build_target linux arm64 ymhut-unified-management-linux-arm64 echo "Built release binaries in $OUT"