| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/bash
- set -e
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
- PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
- # 构建前端(可选,需配置 WEB_DIR 环境变量指向前端项目目录)
- WEB_DIR="${WEB_DIR:-}"
- HTML_DIR="$PROJECT_DIR/internal/web/html"
- if [ -n "$WEB_DIR" ] && [ -d "$WEB_DIR" ]; then
- echo "Building frontend..."
- cd "$WEB_DIR" && npm run build
- rm -rf "$HTML_DIR"
- cp -r dist "$HTML_DIR"
- echo "Frontend built and copied."
- fi
- cd "$PROJECT_DIR"
- BINARY_NAME="opencode-monitor"
- VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
- mkdir -p dist
- echo "Building for Linux (amd64)..."
- GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-linux-amd64 ./cmd/monitor
- echo "Building for Linux (arm64)..."
- GOOS=linux GOARCH=arm64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-linux-arm64 ./cmd/monitor
- echo "Building for Windows (amd64)..."
- GOOS=windows GOARCH=amd64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-windows-amd64.exe ./cmd/monitor
- echo "Building for Windows (arm64)..."
- GOOS=windows GOARCH=arm64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-windows-arm64.exe ./cmd/monitor
- echo ""
- echo "Build complete! Binaries in dist/"
- ls -la dist/
|