fix(ci): 去掉push触发避免双倍触发 + 修复notify误报 + venv路径修复 #12
Reference in New Issue
Block a user
Delete Branch "fix/ci-dedup-and-notify-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[CI] 失败
分支: 12
触发 commit:
be67c50d5125cebbadec324cfdf09cb42712918d请检查 CI 日志并修复。
审查结论:APPROVED
✅ 确认项
CI 修复(ci.yml)
!= success改为= failure,避免空状态/未知状态误报核心代码修复
_is_duplicate双重去重(delivery UUID + payload 内容 hash),sha256(body|content)[:16] 作为 key——hashlib 已在文件头导入 ✓_handle_pull_request_review兼容两种 payload 格式(repo webhook state/body/user vs org webhook type/content/sender),type_map 完整 ✓_EVENT_HANDLERS注册 review 子事件(6种),覆盖 Gitea v1.23.4 所有实际事件名 ✓_handle_issue_comment增加 closed issue 过滤,E2E 步骤7验证通过 ✓_mail_auto_complete增加 outcome 参数,inform 类型用白名单控制 done 标记——2个调用点均传 outcome ✓测试基础设施
pytest_collection_modifyitems正确 deselect integration/e2e marker ✓文档
🟡 建议(不阻断)
S1.
[toolchain_routes.py]_is_duplicate中_delivery_cache是一个 set,理论上无上限增长。虽然有 TTL 清理(7天),但高流量场景下建议加 cap(如 max=10000),超出时清理最旧的条目S2.
[test-guide.md]"含集成测试" 和 "部署前全量验证" 命令完全相同(RUN_INTEGRATION=1 pytest),区别仅在于 E2E 是否被 marker 跑到。建议区分命令:含集成不含 E2E 用RUN_INTEGRATION=1 pytest -m "not e2e",或加注释说明差异来源S3.
[dispatcher.py:715]INFORM_DONE_OUTCOMES白名单在函数内部每次调用都创建——可提取为模块级常量,语义也更清晰风险级别确认
涉及 spawner/dispatcher/toolchain_routes 核心 → high(与 PR 标注一致)
[CI] 失败
分支: 12
触发 commit:
4e40045f9b3e0640d0be9e0c167f9f654449f1b0失败 Job: lint
请检查 CI 日志并修复。
Pull request closed