#!/bin/sh
#
# Build and deploy 'forge' to a remote server.
#
# Usage: ./deploy <host>
#
# Builds a Linux/amd64 binary, copies it to the remote host,
# moves it to /usr/local/bin/forge, and restarts the systemd service.
#
set -eu

if [ $# -lt 1 ]; then
  echo "Usage: $0 <host>" >&2
  exit 1
fi

HOST="$1"
BINARY="forge"
REMOTE_PATH="/usr/local/bin/$BINARY"
SERVICE="forge"

echo "Building $BINARY..."
GOOS=linux GOARCH=amd64 go build -o "bin/$BINARY" .

echo "Uploading to $HOST..."
scp -O "bin/$BINARY" "$USER@$HOST:/tmp/$BINARY"

echo "Installing and restarting service..."
ssh "$USER@$HOST" "
    sudo mv /tmp/$BINARY $REMOTE_PATH &&
    sudo chmod 755 $REMOTE_PATH &&
    sudo systemctl restart $SERVICE
"
echo "Done."
