File size: 2,090 Bytes
0cb452d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env bash
# Pre-submission validation script for TriageFlow
# Usage: ./scripts/validate-submission.sh <space_url>

set -e

BOLD="\033[1m"
GREEN="\033[32m"
RED="\033[31m"
NC="\033[0m"

SPACE_URL="${1:-}"
REPO_DIR="$(dirname "$(dirname "$(readlink -f "$0")")")"

pass() { printf "  ${GREEN}✅ PASS${NC}: %s\n" "$1"; }
fail() { printf "  ${RED}❌ FAIL${NC}: %s\n" "$1"; }

echo ""
echo "${BOLD}========================================${NC}"
echo "${BOLD}  TriageFlow Pre-Submission Validator${NC}"
echo "${BOLD}========================================${NC}"
echo ""

# Step 1: Ping HF Space
if [ -n "$SPACE_URL" ]; then
    echo "${BOLD}Step 1/3: Pinging HF Space${NC} ($SPACE_URL/reset) ..."
    HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
      -H "Content-Type: application/json" -d '{}' \
      "$SPACE_URL/reset" --max-time 30 2>/dev/null || printf "000")
    if [ "$HTTP_CODE" = "200" ]; then
        pass "HF Space is live and responds to /reset"
    else
        fail "HF Space /reset returned HTTP $HTTP_CODE (expected 200)"
        exit 1
    fi
else
    echo "Step 1/3: Skipped (no Space URL provided)"
fi

# Step 2: Docker build
echo ""
echo "${BOLD}Step 2/3: Running docker build${NC} ..."
if command -v docker &>/dev/null; then
    if docker build -t triage-flow-test "$REPO_DIR" > /dev/null 2>&1; then
        pass "Docker build succeeded"
    else
        fail "Docker build failed"
        exit 1
    fi
else
    echo "  Skipped (docker not found)"
fi

# Step 3: openenv validate
echo ""
echo "${BOLD}Step 3/3: Running openenv validate${NC} ..."
if command -v openenv &>/dev/null; then
    if (cd "$REPO_DIR" && openenv validate 2>&1); then
        pass "openenv validate passed"
    else
        fail "openenv validate failed"
        exit 1
    fi
else
    echo "  Skipped (openenv not found)"
fi

echo ""
echo "${BOLD}========================================${NC}"
echo "${GREEN}${BOLD}  All checks passed!${NC}"
echo "${GREEN}${BOLD}  Your submission is ready.${NC}"
echo "${BOLD}========================================${NC}"
echo ""

exit 0