Files
novalon-website/monitor-pipeline-continuous.sh
T
张翔 26aa13b5a4
ci/woodpecker/push/woodpecker Pipeline is running
feat: 并行化CI代码质量检查步骤
优化内容:
- Lint、Type Check、Security Scan并行执行
- Unit Tests使用depends_on等待所有检查完成
- 添加npm缓存配置
- 修复shared-mocks.tsx的ESLint错误

预期效果:
- 串行时间: 30s + 40s + 20s = 90s
- 并行时间: max(30s, 40s, 20s) = 40s
- 节省时间: 50s (55.6%改善)
2026-03-29 11:41:30 +08:00

74 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
PIPELINE_URL="https://ci.f.novalon.cn/repos/1/pipeline/33"
COMMIT_SHA="232f481"
MAX_CHECKS=20
CHECK_INTERVAL=30
echo "=========================================="
echo "Ralph Loop 持续监控模式"
echo "=========================================="
echo ""
echo "Pipeline URL: $PIPELINE_URL"
echo "Commit SHA: $COMMIT_SHA"
echo "最大检查次数: $MAX_CHECKS"
echo "检查间隔: ${CHECK_INTERVAL}"
echo ""
echo "开始监控..."
echo ""
for i in $(seq 1 $MAX_CHECKS); do
echo "=========================================="
echo "检查 #$i / $MAX_CHECKS"
echo "时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="
echo ""
echo "请检查Pipeline状态:"
echo " $PIPELINE_URL"
echo ""
echo "输入状态 (pass/fail/running/quit):"
read -t $CHECK_INTERVAL status || status="running"
case $status in
pass)
echo ""
echo "✅ Pipeline已通过!"
echo "Ralph Loop完成。"
exit 0
;;
fail)
echo ""
echo "❌ Pipeline失败!"
echo "请输入失败的步骤名称:"
read step_name
echo "失败步骤: $step_name"
echo ""
echo "Ralph Loop将自动修复..."
exit 1
;;
running)
echo ""
echo "⏳ Pipeline仍在运行,等待${CHECK_INTERVAL}秒后继续检查..."
sleep $CHECK_INTERVAL
;;
quit)
echo ""
echo "⚠️ 用户退出监控"
exit 2
;;
*)
echo ""
echo "⚠️ 无效状态: $status"
echo "继续监控..."
sleep $CHECK_INTERVAL
;;
esac
done
echo ""
echo "⚠️ 达到最大检查次数 ($MAX_CHECKS)"
echo "Pipeline仍在运行,请手动检查"
exit 3