66 lines
1.5 KiB
Bash
66 lines
1.5 KiB
Bash
#!/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"
|