auto-sync: 2026-06-07 23:31:00
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions

This commit is contained in:
cfdaily
2026-06-07 23:31:00 +08:00
parent e1da581916
commit a4581fef6c
+15 -7
View File
@@ -355,12 +355,14 @@ E2E 测试能安全运行的前提:
- S22.13 风险级别自动判定:改动含高风险文件 → high [unit]
- 验证:changed_files 包含 spawner/dispatcher/router 等高风险路径时 risk_level=high;普通文件为 standard
#### S23: 真实 Gitea Webhook 端到端验证(6 个测试)| 对应 design: #13 §16
#### S23: 真实 Gitea Webhook 端到端验证(8 个测试)| 对应 design: #13 §16
> 需要 Gitea admin 权限或已配置 Webhook 的仓库,真实 PR 流程触发 Webhook
> 前置条件:Gitea Webhook active=true(姜维已配)、GITEA_TOKEN 已配、测试账号可用
> 全部完成后统一清理:关闭 PR、删除测试分支和 Issue
- S23.1 创建真实 PR → Gitea 发送 Webhook → daemon 收到并创建 Review Mail [E2E]
- 前置:在 moziplus-v2 仓库创建分支 + 提交 + 开 PR
- 前置:在 moziplus-v2 仓库创建分支 + 提交(改动含高风险文件如 spawner.py)+ 开 PR
- 验证:daemon 日志有 `POST /webhook/gitea 200`,司马懿收到 Review 请求 Mail
- 验证:Mail 内容含正确的 PR 号、标题、作者、分支名
- S23.2 Gitea Review 提交 → PR 作者收到通知 [E2E]
@@ -376,12 +378,18 @@ E2E 测试能安全运行的前提:
- 操作:在 Gitea 创建 Issue 并 assigned 给 zhangfei-dev
- 验证:zhangfei-dev 收到 Issue 指派 Mail
- S23.6 风险级别判定:PR 改动含高风险文件 → risk_level=high [E2E]
- 前置:PR 改动文件包含 `src/daemon/spawner.py``src/daemon/ticker.py`(高风险路径)
- 前置:S23.1 的 PR 改动文件包含 `src/daemon/spawner.py``src/daemon/ticker.py`(高风险路径)
- 验证:GITEA_TOKEN 已配,daemon 能调 Gitea API 获取 PR 文件列表
- 验证:Review Mail 中标注 risk_level=high(而非 standard
- 清理:关闭 PR,删除测试分支和 Issue
- S23.7 幂等检查真实场景:Gitea 重试 Webhook → 不重复创建 Mail [E2E]
- 操作:对同一 PR 触发重复 Webhook(或利用 Gitea Webhook 的 Test Delivery 功能重复发送)
- 验证:daemon 日志显示 duplicateMail 不重复创建
- 目的:从 E2E 角度验证 S22.9 的 unit 测试,真实场景才能暴露并发竞态问题
- S23.8 清理:关闭 PR,删除测试分支和 Issue
- 操作:关闭所有测试 PR,删除测试分支,关闭测试 Issue
- 验证:Gitea 仓库无测试残留(e2e- 前缀的 PR/Issue/分支均已清理)
**场景测试合计:83 个测试**
**场景测试合计:85 个测试**
### 4.2 压力测试(ST1-ST3
@@ -610,7 +618,7 @@ atexit.register(_emergency_cleanup)
| 类别 | 标准 |
|------|------|
| **场景测试(S1-S23** | 83 个全部通过。失败必须分析根因并修复后才继续 |
| **场景测试(S1-S23** | 85 个全部通过。失败必须分析根因并修复后才继续 |
| **压力测试(ST1-ST3** | 3 个全部通过。验证并发控制无死锁 |
| **P0 必须全部通过** | S1-S8 + S10 + S11-S14 |
| **P1 通过率 ≥ 80%** | S9 + S15-S21 + ST1-ST3(依赖真实 Agent,可能受网络/环境干扰) |
@@ -707,7 +715,7 @@ atexit.register(_emergency_cleanup)
| 2026-06-01 | v2.8 | 新增 E11-E15(庞统) |
| 2026-06-05 | v3.0 | 全面重写:三层分离 + 主公四原则 + 背靠背 review 修正 + E14 编号冲突修复 + 场景/压力分离 + 串行执行策略(庞统综合,基于仲达 v30 草案) |
| 2026-06-05 | v3.0.1 | 仲达 review 修订:修正幽灵文件 4 处 + 补 E15a/b 迁移映射 + 清理 API 状态改已实现 + S9.3 设计文档标注 + ST 验收标准细化 + #10 暂无文件标注 + S21 合并说明 |
| 2026-06-07 | v3.0.3 | 新增 S23 真实 Gitea Webhook E2E6 个测试),覆盖 T02 真实投递 + T03 风险级别判定 |
| 2026-06-07 | v3.0.3 | 新增 S23 真实 Gitea Webhook E2E8 个测试),覆盖 T02 真实投递 + T03 风险级别判定 + 幂等真实场景 + 统一清理。采纳仲达 S1(幂等 E2E)+ S2(统一清理) |
### v3.0 vs v2.8 关键变化