diff --git a/scripts/ci/run_unit_tests.sh b/scripts/ci/run_unit_tests.sh index 1da6aa34b..b5c673a28 100755 --- a/scripts/ci/run_unit_tests.sh +++ b/scripts/ci/run_unit_tests.sh @@ -10,9 +10,25 @@ echo "=== CI Unit Tests 开始 ===" # --- 安装依赖 --- echo "" echo "=== 安装 Python 依赖 ===" -python3 -m pip install -q -r requirements-base.txt -python3 -m pip install -q -r requirements.txt -python3 -m pip install -q -r requirements-dev.txt +# pip install 带重试(网络不稳定时自动重试) +for i in 1 2 3; do + python3 -m pip install -q -r requirements-base.txt && break + echo "pip install requirements-base.txt 失败,重试 $i/3..." + [ $i -eq 3 ] && exit 1 + sleep 5 +done +for i in 1 2 3; do + python3 -m pip install -q -r requirements.txt && break + echo "pip install requirements.txt 失败,重试 $i/3..." + [ $i -eq 3 ] && exit 1 + sleep 5 +done +for i in 1 2 3; do + python3 -m pip install -q -r requirements-dev.txt && break + echo "pip install requirements-dev.txt 失败,重试 $i/3..." + [ $i -eq 3 ] && exit 1 + sleep 5 +done pytest --version # --- 增量测试选择(仅PR) --- diff --git a/scripts/ci/step_frontend_install.sh b/scripts/ci/step_frontend_install.sh index ae59af2f2..c451eab75 100755 --- a/scripts/ci/step_frontend_install.sh +++ b/scripts/ci/step_frontend_install.sh @@ -9,10 +9,16 @@ MODE="${1:-full}" echo "=== 前端依赖安装开始 (模式: $MODE) ===" -docker run --rm \ - -v "$PWD:/workspace" \ - -w /workspace/apps/web \ - docker.m.daocloud.io/library/node:20 \ - sh -lc "npm ci --no-audit --no-fund" +# npm ci 带重试(网络不稳定时自动重试) +for i in 1 2 3; do + docker run --rm \ + -v "$PWD:/workspace" \ + -w /workspace/apps/web \ + docker.m.daocloud.io/library/node:20 \ + sh -lc "npm ci --no-audit --no-fund" && break + echo "npm ci 失败,重试 $i/3..." + [ $i -eq 3 ] && exit 1 + sleep 5 +done echo "=== 前端依赖安装完成 ==="