fix(ci): 去掉push触发避免双倍触发 + 修复notify误报 + venv路径修复 #12
Closed
jiangwei-infra
wants to merge 36 commits from
fix/ci-dedup-and-notify-fix into main
pull from: fix/ci-dedup-and-notify-fix
merge into: sanguo:main
sanguo:main
sanguo:docs/20-issue-centric-orchestration
sanguo:impl/17-issue-assigned-git-steps
sanguo:docs/17-issue-assigned-git-steps
sanguo:impl/17-ci-deploy-steps-branching
sanguo:docs/19-fix-delivery-mode
sanguo:docs/17-ci-deploy-steps-branching
sanguo:fix/91-ci-lint-ensurepip
sanguo:impl/19-s6-deprecated-cleanup
sanguo:docs/19-cron-config-design
sanguo:fix/spawner-get-task-info-must-haves
sanguo:docs/skill-lifecycle-design
sanguo:fix/spawner-event-type-missing
sanguo:design/mail-verify-prompt-fix
sanguo:feat/runaway-guard
sanguo:fix/mention-duplicate-mail-race-doc-sync
sanguo:feat/l0-l2-prompt-improvements
sanguo:feat/toolchain-from-to-filter
sanguo:fix/task-sort-desc
sanguo:refactor/toolchain-to-settings
sanguo:fix/cd-push-trigger-yaml
sanguo:ci/add-frontend
sanguo:feat/toolchain-tab
sanguo:refactor/api-split-expand
sanguo:docs/18-api-refactor-design
sanguo:docs/rewrite-s26-conventions
sanguo:feat/gitea-conventions
sanguo:impl/16-knowledge-injection
sanguo:docs/16-knowledge-injection-v2
sanguo:docs/16-knowledge-injection
sanguo:fix/ci-pip-upgrade
sanguo:feat/17-toolchain-handler-impl
sanguo:fix/17-toolchain-mail-separation
sanguo:fix/17-on-failure-redesign
sanguo:feat/17-toolchain-handler-enforcement
sanguo:feat/17-action-mail-type
sanguo:fix/docs-path-ref-15
sanguo:fix/pr-synchronize-dispatch
sanguo:docs/design-renumber
sanguo:fix/g2-agent-error-reason-map
sanguo:feat/mail-notify-v2
sanguo:chore/docs-merge-mail-failure
sanguo:chore/docs-rename-watchdog
sanguo:chore/docs-merge-3-batch
sanguo:chore/docs-merge-2-3
sanguo:chore/docs-merge-1-review-to-archive
sanguo:chore/docs-cleanup
sanguo:chore/g1-comment-fix
sanguo:fix/is-pr-detection
sanguo:docs/25-sync-help-keywords
sanguo:feat/25-gitea-mention-toolchain
sanguo:fix/auto-deploy-self-kill
sanguo:feat/43-auto-deploy-on-merge
sanguo:fix/39-review-merge-reminder
sanguo:docs/38-toolchain-design-update
sanguo:fix/toolchain-event-type-registration
sanguo:fix/toolchain-synchronize-fallback-and-merge-notify
sanguo:fix/24-compact-detection-v4
sanguo:fix/compact-detection-v3
sanguo:feat/pr-lifecycle-events
sanguo:fix/lint-cleanup
sanguo:fix/sync-to-gitea
sanguo:feat/step5-engine-integration
sanguo:feat/task-type-handlers-step2-4
sanguo:docs/s-fixes
sanguo:docs/task-type-architecture
sanguo:docs/merge-19-into-13
sanguo:fix/frontend-null-vs-undefined
sanguo:fix/e2e-collection-crash
sanguo:fix/deploy-workflow
sanguo:fix/lint-regression
sanguo:docs/19-toolchain-context-layers-v2
sanguo:docs/19-toolchain-context-layers-only
sanguo:fix/toolchain-review-dedup-ci-cooldown
sanguo:docs/19-toolchain-context-layers
sanguo:feat/webhook-test
No Reviewers
Dismiss Review
Are you sure you want to dismiss this review?
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sanguo/sanguo_moziplus_v2#12
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking 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