#!/bin/bash
# Quick build status checker
# Usage: ./scripts/build-status.sh

# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

# Find running pigen container (handles pigen_work, pigen_work_cont, etc.)
CONTAINER=$(docker ps --filter name=pigen --format "{{.Names}}" | head -1)

if [ -z "$CONTAINER" ]; then
    # Check for recently exited container
    CONTAINER=$(docker ps -a --filter name=pigen --format "{{.Names}}" | head -1)
    if [ -n "$CONTAINER" ]; then
        STATUS=$(docker ps -a --filter name="$CONTAINER" --format "{{.Status}}")
        echo -e "${YELLOW}Build finished:${NC} $STATUS"
        echo ""
        echo -e "${BLUE}Final steps:${NC}"
        docker logs --tail 20 "$CONTAINER" 2>&1 | grep -E "^\[.*\] (Begin|End)|Build failed|complete" | tail -10
        exit 0
    fi
    echo -e "${YELLOW}No build running${NC}"
    echo "Start a build with: ./build-image.sh full"
    exit 0
fi

STATUS=$(docker ps --filter name="$CONTAINER" --format "{{.Status}}")

echo -e "${GREEN}Build Status:${NC} $STATUS (container: $CONTAINER)"
echo ""
echo -e "${BLUE}Current Stage:${NC}"
docker logs "$CONTAINER" 2>&1 | grep -E "^\[.*\] Begin /pi-gen/(stage[^/]+)" | tail -1

echo ""
echo -e "${BLUE}Recent Progress (last 10 steps):${NC}"
docker logs "$CONTAINER" 2>&1 | grep -E "^\[.*\] (Begin|End)" | tail -10

echo ""
echo -e "${BLUE}Latest Activity:${NC}"
docker logs --tail 5 "$CONTAINER" 2>&1

echo ""
echo -e "Watch live: ${YELLOW}docker logs -f $CONTAINER${NC}"
