fix(ci): P0系统性修复 - concurrency/UnitTests/门禁同步(4项全改) #765

Merged
xiaoxia merged 1 commits from fix/ci-systematic-p0-fix into develop 2026-07-23 19:38:03 +08:00
Owner

P0 CI系统性修复

任务1:关闭develop push的concurrency取消

  • 全局concurrency的cancel-in-progress从固定true改为条件表达式
  • PR事件:true(取消进行中的旧run,节省资源)
  • push事件:false(不取消,确保完整CI跑完)
  • 解决:develop频繁push导致CI被中途取消的问题

任务2:修复Unit Tests长期失败

  • 根因1:PYTHONPATH缺少packages目录,导致from shared.ffmpeg_utils等导入失败
  • 根因2:numpy安装不稳定,加双保险显式安装
  • 修复:PYTHONPATH增加$PWD/packages + pip install numpy

任务3:分支保护门禁升级(已通过API生效)

  • 从4个lint类检查,扩展到9个全链路检查
  • 新增:Unit Tests / Frontend Unit Tests / PR Build API/Web/Worker Image
  • 直接通过Gitea API修改了develop分支保护配置

任务4:auto_approve/auto_merge同步门禁

  • 两个脚本的CONTEXTS数组同步新增5个检查项
  • 确保自动审批/自动合并的检查项与分支保护完全一致

验收标准

  • develop CI能完整跑完,不会被中途取消
  • Unit Tests全绿
  • PR的Unit Tests挂时,不能被自动/手动合并
## P0 CI系统性修复 ### 任务1:关闭develop push的concurrency取消 - 全局concurrency的cancel-in-progress从固定true改为条件表达式 - PR事件:true(取消进行中的旧run,节省资源) - push事件:false(不取消,确保完整CI跑完) - 解决:develop频繁push导致CI被中途取消的问题 ### 任务2:修复Unit Tests长期失败 - **根因1**:PYTHONPATH缺少packages目录,导致`from shared.ffmpeg_utils`等导入失败 - **根因2**:numpy安装不稳定,加双保险显式安装 - 修复:PYTHONPATH增加$PWD/packages + pip install numpy ### 任务3:分支保护门禁升级(已通过API生效) - 从4个lint类检查,扩展到9个全链路检查 - 新增:Unit Tests / Frontend Unit Tests / PR Build API/Web/Worker Image - 直接通过Gitea API修改了develop分支保护配置 ### 任务4:auto_approve/auto_merge同步门禁 - 两个脚本的CONTEXTS数组同步新增5个检查项 - 确保自动审批/自动合并的检查项与分支保护完全一致 ## 验收标准 - [ ] develop CI能完整跑完,不会被中途取消 - [ ] Unit Tests全绿 - [ ] PR的Unit Tests挂时,不能被自动/手动合并
xiaoxia added 1 commit 2026-07-23 18:37:08 +08:00
fix(ci): P0系统性修复 - concurrency/UnitTests/门禁同步\n\n- 任务1: develop push事件关闭cancel-in-progress,PR事件保留\n- 任务2: Unit Tests修复 - PYTHONPATH加packages目录+numpy双保险\n- 任务4: auto_approve/auto_merge同步新增5个required checks\n\n任务3(分支保护门禁)已通过Gitea API直接修改
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 59s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m17s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m20s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 33s
AI Code Review / AI Code Review (pull_request) Successful in 2m24s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m4s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 11s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m10s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m28s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m0s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 9m56s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 47m57s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 11s
6ea8ae6b0c
Collaborator

代码审查结果 - PR #765

⚠️ 问题(1个需要修改)

  1. scripts/ci/run_unit_tests.sh 第46行:使用了 || true 忽略 pip 安装失败
    • 问题描述python3 -m pip install -q numpy==1.26.4 || true 会导致即使 numpy 安装失败(如网络问题、依赖冲突),脚本也会继续执行并以成功码退出。这会掩盖环境配置错误,导致后续测试因缺少依赖而报难以排查的错误。
    • 后果:CI 可能会在环境不完整的情况下运行测试,产生误导性的失败结果,或者在 numpy 已存在但版本不符时未进行更新,导致测试结果不稳定。

💡 建议(1个可选)

  1. scripts/ci/run_unit_tests.sh 第46行:避免在 CI 脚本中硬编码特定依赖版本
    • 具体内容:直接在脚本中指定 numpy==1.26.4 容易与项目依赖管理文件(如 requirements.txtpyproject.toml)产生版本冲突,增加维护成本。建议依赖 Docker 镜像预装的依赖,或统一由依赖管理工具安装。

格式检查通过 | 逻辑审查需修改 | 性能无恙


🤖 由 AI 代码审查机器人自动生成 | 2026-07-23 10:40:58 | 模型:

## 代码审查结果 - PR #765 ### ⚠️ 问题(1个需要修改) 1. **scripts/ci/run_unit_tests.sh 第46行**:使用了 `|| true` 忽略 pip 安装失败 - **问题描述**:`python3 -m pip install -q numpy==1.26.4 || true` 会导致即使 numpy 安装失败(如网络问题、依赖冲突),脚本也会继续执行并以成功码退出。这会掩盖环境配置错误,导致后续测试因缺少依赖而报难以排查的错误。 - **后果**:CI 可能会在环境不完整的情况下运行测试,产生误导性的失败结果,或者在 numpy 已存在但版本不符时未进行更新,导致测试结果不稳定。 ### 💡 建议(1个可选) 1. **scripts/ci/run_unit_tests.sh 第46行**:避免在 CI 脚本中硬编码特定依赖版本 - **具体内容**:直接在脚本中指定 `numpy==1.26.4` 容易与项目依赖管理文件(如 `requirements.txt` 或 `pyproject.toml`)产生版本冲突,增加维护成本。建议依赖 Docker 镜像预装的依赖,或统一由依赖管理工具安装。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无恙 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-23 10:40:58 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 3e621bee2c into develop 2026-07-23 19:38:03 +08:00

🗑️ 预览环境已清理

PR #765 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #765 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.