68 lines
1.9 KiB
Bash
Executable File
68 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Mac Bridge Build Pipeline
|
|
# Source of truth: johan@192.168.1.253:~/dev/inou
|
|
|
|
set -e
|
|
|
|
export PATH="/opt/homebrew/bin:$PATH"
|
|
|
|
SERVER="johan@192.168.1.253"
|
|
REMOTE_DIR="~/dev/inou"
|
|
LOCAL_DIR="$HOME/dev/inou"
|
|
BIN_DIR="$LOCAL_DIR/bin"
|
|
BUILD_TIME=$(date -u '+%Y-%m-%d %H:%M:%S')
|
|
|
|
echo "=== Inou Mac Build Pipeline ==="
|
|
echo ""
|
|
|
|
# Sync source from server
|
|
echo "Syncing from $SERVER..."
|
|
rsync -av --delete "$SERVER:$REMOTE_DIR/mcp-client/" "$LOCAL_DIR/mcp-client/"
|
|
scp "$SERVER:$REMOTE_DIR/go.mod" "$SERVER:$REMOTE_DIR/go.sum" "$LOCAL_DIR/"
|
|
echo ""
|
|
|
|
# Build
|
|
cd "$LOCAL_DIR/mcp-client"
|
|
mkdir -p "$BIN_DIR"
|
|
|
|
echo "Building darwin/arm64..."
|
|
GOFIPS140=v1.0.0 go build -ldflags "-X main.Version=1.5.0 -X 'main.BuildTime=$BUILD_TIME'" -o "$BIN_DIR/inou_bridge_darwin_arm64" .
|
|
|
|
echo "Building darwin/amd64..."
|
|
GOFIPS140=v1.0.0 GOARCH=amd64 go build -ldflags "-X main.Version=1.5.0 -X 'main.BuildTime=$BUILD_TIME'" -o "$BIN_DIR/inou_bridge_darwin_amd64" .
|
|
|
|
echo ""
|
|
|
|
# Verify FIPS
|
|
echo "Verifying FIPS compliance..."
|
|
for bin in "$BIN_DIR"/inou_bridge_darwin_*; do
|
|
NAME=$(basename "$bin")
|
|
if go version -m "$bin" | grep -q GOFIPS140; then
|
|
echo " $NAME: ✓"
|
|
else
|
|
echo " $NAME: ✗ NOT FIPS"
|
|
exit 1
|
|
fi
|
|
done
|
|
echo ""
|
|
|
|
# Deploy to server
|
|
echo "Deploying to $SERVER..."
|
|
scp "$BIN_DIR"/inou_bridge_darwin_* "$SERVER:/tank/inou/bin/"
|
|
echo ""
|
|
echo "Updating static downloads..."
|
|
ssh "$SERVER" "cp /tank/inou/bin/inou_bridge_darwin_arm64 /tank/inou/static/download/mac/arm64/inou_bridge && cp /tank/inou/bin/inou_bridge_darwin_amd64 /tank/inou/static/download/mac/amd64/inou_bridge"
|
|
echo ""
|
|
|
|
# Install locally for Claude Desktop
|
|
CLAUDE_BIN="$HOME/bin/inou_bridge"
|
|
echo "Installing to Claude Desktop..."
|
|
mkdir -p "$HOME/bin"
|
|
cp "$BIN_DIR/inou_bridge_darwin_arm64" "$CLAUDE_BIN"
|
|
chmod +x "$CLAUDE_BIN"
|
|
echo " Installed: $CLAUDE_BIN"
|
|
echo ""
|
|
|
|
echo "=== Done ==="
|
|
echo "Restart Claude Desktop to use the new version."
|