38 lines
765 B
Bash
Executable File
38 lines
765 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
OUTPUT_DIR="$REPO_ROOT/build/bin"
|
|
BINARY="$OUTPUT_DIR/verstak-sync-server"
|
|
|
|
echo "=== Verstak Sync Server Build ==="
|
|
|
|
# Check dependencies
|
|
if ! command -v go &>/dev/null; then
|
|
echo "❌ go not found"
|
|
exit 1
|
|
fi
|
|
echo "✅ go $(go version | awk '{print $3}')"
|
|
|
|
# Clean
|
|
rm -rf "$OUTPUT_DIR"
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
# Build
|
|
echo "→ Building server binary..."
|
|
cd "$REPO_ROOT"
|
|
go build -o "$BINARY" ./cmd/server
|
|
echo "✅ Binary built: $BINARY"
|
|
ls -lh "$BINARY"
|
|
|
|
# Tests
|
|
echo "→ Running tests..."
|
|
go test ./...
|
|
echo "✅ Tests passed"
|
|
|
|
echo ""
|
|
echo "=== Build Complete ==="
|
|
echo "Binary: $BINARY"
|
|
echo "Run: $BINARY --help"
|