From 639fb3ecea06c833d230bda4ff045c02f0d20c2a Mon Sep 17 00:00:00 2001 From: cfdaily Date: Tue, 9 Jun 2026 00:44:21 +0800 Subject: [PATCH] auto-sync: 2026-06-09 00:44:21 --- docs/design/18-toolchain-e2e-test.md | 64 +++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/docs/design/18-toolchain-e2e-test.md b/docs/design/18-toolchain-e2e-test.md index 56c2fa8..2d53f4e 100644 --- a/docs/design/18-toolchain-e2e-test.md +++ b/docs/design/18-toolchain-e2e-test.md @@ -43,6 +43,66 @@ ## 执行记录 -> 以下由自动化测试脚本填写 +> 2026-06-09 00:40~00:50 CST -(待填写) +### 步骤 1:Issue 指派 ✅ +- 操作:创建 Issue #22 `[E2E-TEST] Issue指派测试`,assignee=zhangfei-dev +- Mail:`mail-1780936736480`,from=system, to=zhangfei-dev, title=`Issue 指派: [E2E-TEST] Issue指派测试` +- 模板渲染正确(含 Issue 链接、标签、描述、建议分支名) + +### 步骤 2:PR Review 请求 ✅ +- 操作:创建分支 `test/e2e-1780936838`,创建 PR #23 +- Mail:`mail-1780936851715`,from=system, to=simayi-challenger +- 模板含 PR 链接、标题、作者(pangtong-fujunshi)、分支、风险级别(standard) +- 附带:CI 失败通知 `mail-1780936876572`(CI 自动触发,符合预期) + +### 步骤 3:Review APPROVED ✅ +- 操作:用 simayi-challenger token 提交 APPROVED review +- Mail:`mail-1780936968411`,from=system, to=pangtong-fujunshi, title=`Review 通过 ✓` +- 描述含审查者(simayi-challenger)、review body +- ⚠️ 收到 2 封重复 Mail(org webhook + repo webhook 双触发) + +### 步骤 4:Review REQUEST_CHANGES ✅ +- 操作:用 simayi-challenger token 提交 REQUEST_CHANGES review +- Mail:`mail-1780936972207`,from=system, to=pangtong-fujunshi, title=`Review 驳回 ✗` +- ⚠️ 同上,收到 2 封重复 Mail + +### 步骤 5:CI 失败评论 ✅ +- 操作:在 Issue #22 发评论 `[CI] CI 失败 — 分支: test/e2e-1780936838, 错误: build timeout` +- Mail:`mail-1780936994513`,from=system, to=pangtong-fujunshi, title=`CI 失败: sanguo/moziplus-v2#22` +- 模板含分支提取和错误摘要 + +### 步骤 6:部署失败 Issue ✅ +- 操作:创建 Issue #24 `[E2E-TEST] 部署失败: test deploy`(无指派) +- Mail:`mail-1780936999660` to=jiangwei-infra, `mail-1780936999684` to=pangtong-fujunshi +- 双收件人验证通过 ✅ + +### 步骤 7:已关闭 Issue 负面测试 ✅ +- 操作:关闭 Issue #22 后发 `[CI] CI 失败 — 应被过滤` +- 结果:未产生新 Mail ✅(只有步骤 5 的 1 封 CI Mail,步骤 7 的评论被正确过滤) + +### 步骤 8:幂等测试 ⏳ 待执行 +- 需要手动构造重复 Webhook 请求验证 + +--- + +## 汇总 + +| 步骤 | 状态 | 备注 | +|------|------|------| +| 1. Issue 指派 | ✅ 通过 | Mail to/模板正确 | +| 2. PR Review 请求 | ✅ 通过 | Mail to/风险级别/文件列表正确 | +| 3. Review APPROVED | ✅ 通过 | 但收到 2 封重复 Mail(双 webhook) | +| 4. Review REQUEST_CHANGES | ✅ 通过 | 同上,2 封重复 | +| 5. CI 失败评论 | ✅ 通过 | 分支提取正确 | +| 6. 部署失败 Issue | ✅ 通过 | 双收件人验证通过 | +| 7. 已关闭 Issue 过滤 | ✅ 通过 | 负面测试通过,无新 Mail | +| 8. 幂等测试 | ⏳ 待执行 | 需手动构造重复请求 | + +## 发现的问题 + +### P1:Review 事件双 Mail +- **现象**:每次 Review 事件产生 2 封完全相同的 Mail +- **原因**:Gitea 同时触发了 org webhook + repo webhook,两个 Webhook 独立投递 +- **影响**:用户收到重复通知 +- **建议修复**:幂等检查已按 event+delivery 去重,但 org 和 repo webhook 的 delivery ID 不同,所以去重不生效。需改为按事件内容去重(如 review.id)