#!/bin/bash
# Clean up the preview environment.
# Usage: ./preview-cleanup.sh
#
# This script runs ON the EC2 instance (invoked via SSH from GitHub Actions).
# It:
#   1. Stops the Next.js preview process
#   2. Removes the preview directory

set -euo pipefail

PREVIEW_DIR="/opt/gemmbot/preview"

# Get PR number for logging
PR_NUMBER="unknown"
if [ -f "${PREVIEW_DIR}/.pr-number" ]; then
    PR_NUMBER=$(cat "${PREVIEW_DIR}/.pr-number")
fi
echo "### Cleaning up preview (PR #${PR_NUMBER}) ###"

# --- Stop the preview process ---
PID_FILE="${PREVIEW_DIR}/.pid"
if [ -f "$PID_FILE" ]; then
    PID=$(cat "$PID_FILE")
    if kill -0 "$PID" 2>/dev/null; then
        echo "### Stopping preview process (PID ${PID}) ###"
        kill "$PID" 2>/dev/null || true
        sleep 2
        kill -9 "$PID" 2>/dev/null || true
    fi
fi

# --- Remove preview directory ---
echo "### Removing preview directory ###"
rm -rf "$PREVIEW_DIR"

echo "### Preview cleanup complete (was PR #${PR_NUMBER}) ###"
