test(observability): add one-shot QA suite
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
This commit is contained in:
@@ -40,11 +40,17 @@ AI 觀測台是「AI 中樞控制室」,不是 Bootstrap 報表頁。任何新
|
||||
|
||||
先跑本地 guard,避免把已知 UI/UX 回歸重新帶進 repo:
|
||||
|
||||
```bash
|
||||
scripts/check_observability_suite.sh
|
||||
```
|
||||
|
||||
若只想跑靜態檢查:
|
||||
|
||||
```bash
|
||||
python3 scripts/check_observability_ui.py
|
||||
```
|
||||
|
||||
或透過既有 quick review 選單執行第 6 項:
|
||||
或透過既有 quick review 選單執行第 8 項完整 QA 套件、第 6 項靜態 UI guard:
|
||||
|
||||
```bash
|
||||
./scripts/quick_review.sh
|
||||
|
||||
65
scripts/check_observability_suite.sh
Normal file
65
scripts/check_observability_suite.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
# AI observability QA suite.
|
||||
#
|
||||
# Runs the static UI regression guard first, then the production page smoke
|
||||
# check unless --skip-production is provided.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BASE_URL="https://mo.wooo.work"
|
||||
SKIP_PRODUCTION=0
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--base-url)
|
||||
BASE_URL="${2:-}"
|
||||
if [[ -z "$BASE_URL" ]]; then
|
||||
echo "ERROR: --base-url requires a value" >&2
|
||||
exit 1
|
||||
fi
|
||||
shift 2
|
||||
;;
|
||||
--skip-production)
|
||||
SKIP_PRODUCTION=1
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
cat <<'EOF'
|
||||
Usage: scripts/check_observability_suite.sh [--base-url URL] [--skip-production]
|
||||
|
||||
Runs:
|
||||
1. python3 scripts/check_observability_ui.py
|
||||
2. python3 scripts/check_observability_pages.py --base-url URL
|
||||
|
||||
Options:
|
||||
--base-url URL Target site for the 10-page smoke check.
|
||||
--skip-production Run only the static UI guard.
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: unknown option: $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
echo "========================================"
|
||||
echo "AI Observability QA Suite"
|
||||
echo "========================================"
|
||||
echo "1/2 Static UI guard"
|
||||
python3 scripts/check_observability_ui.py
|
||||
|
||||
if [[ "$SKIP_PRODUCTION" -eq 1 ]]; then
|
||||
echo "2/2 Production smoke skipped"
|
||||
echo "AI Observability QA Suite: PASS"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "2/2 Production 10-page smoke"
|
||||
python3 scripts/check_observability_pages.py --base-url "$BASE_URL"
|
||||
|
||||
echo "AI Observability QA Suite: PASS"
|
||||
@@ -17,6 +17,7 @@ PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
CODE_REVIEW_SCRIPT="$PROJECT_ROOT/scripts/code_review.py"
|
||||
OBSERVABILITY_UI_GUARD="$PROJECT_ROOT/scripts/check_observability_ui.py"
|
||||
OBSERVABILITY_PAGE_SMOKE="$PROJECT_ROOT/scripts/check_observability_pages.py"
|
||||
OBSERVABILITY_QA_SUITE="$PROJECT_ROOT/scripts/check_observability_suite.sh"
|
||||
|
||||
# 顯示標題
|
||||
echo -e "${BLUE}========================================${NC}"
|
||||
@@ -64,6 +65,16 @@ run_observability_page_smoke() {
|
||||
python3 "$OBSERVABILITY_PAGE_SMOKE"
|
||||
}
|
||||
|
||||
run_observability_qa_suite() {
|
||||
if [ ! -f "$OBSERVABILITY_QA_SUITE" ]; then
|
||||
echo -e "${RED}❌ AI觀測台 QA 套件不存在: $OBSERVABILITY_QA_SUITE${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}🏛️ 開始 AI觀測台完整 QA 套件...${NC}"
|
||||
bash "$OBSERVABILITY_QA_SUITE"
|
||||
}
|
||||
|
||||
# 顯示選單
|
||||
if [ $# -eq 0 ]; then
|
||||
echo -e "${YELLOW}請選擇操作:${NC}"
|
||||
@@ -74,8 +85,9 @@ if [ $# -eq 0 ]; then
|
||||
echo "5) 效能檢查 (Performance Review)"
|
||||
echo "6) AI觀測台 UI/UX 防回歸檢查"
|
||||
echo "7) AI觀測台 10頁線上巡檢"
|
||||
echo "8) AI觀測台完整 QA 套件"
|
||||
echo ""
|
||||
read -p "請輸入選項 (1-7): " choice
|
||||
read -p "請輸入選項 (1-8): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
@@ -111,6 +123,9 @@ if [ $# -eq 0 ]; then
|
||||
7)
|
||||
run_observability_page_smoke
|
||||
;;
|
||||
8)
|
||||
run_observability_qa_suite
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}❌ 無效選項${NC}"
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user