41d60cca2c
- impl.yml: type/feature → type/feat - toolchain_routes.py: business_type feature→feat(匹配 Gitea label) - toolchain-templates.yaml: feature→feat
172 lines
7.9 KiB
YAML
172 lines
7.9 KiB
YAML
# toolchain-templates.yaml
|
||
# §21 §4 steps 模板化 — 按 action_type + business_type 查找
|
||
# 占位符 {issue_number}/{brief}/{title}/{pr_number} 等运行时渲染
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# issue_assigned(按 Issue label 分 6 路 + infrastructure)
|
||
# ---------------------------------------------------------------------------
|
||
issue_assigned:
|
||
feat:
|
||
steps:
|
||
- "理解需求(Issue body)→ 如有不明确在 Issue comment 追问"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b feat/{issue_number}-{brief}"
|
||
- "编码实现 + 写 UT"
|
||
- "文档同步:如果本次改动涉及设计变更或接口变更,在同一分支更新 docs/design/ 对应文档。如无需更新,在 action report 中说明「文档无需更新」"
|
||
- "git add -A && git commit -m '[moz] feat: {title}' && git push origin feat/{issue_number}-{brief}"
|
||
- "CI 通过后创建 PR(body 含 Closes #{issue_number})"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**分支**:feat/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
**改动文件**:{files}
|
||
**CI**:{ci_status}
|
||
**文档同步**:{doc_status}
|
||
|
||
impl:
|
||
steps:
|
||
- "读设计文档(Issue body 中的路径)→ 理解实现范围"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b impl/{issue_number}-{brief}"
|
||
- "按设计编码实现 + 写 UT"
|
||
- "文档同步:如果本次改动涉及设计变更或接口变更,在同一分支更新 docs/design/ 对应文档。如无需更新,在 action report 中说明「文档无需更新」"
|
||
- "git add -A && git commit -m '[moz] impl: {title}' && git push origin impl/{issue_number}-{brief}"
|
||
- "CI 通过后创建 PR(body 含 Closes #{issue_number} + 设计文档路径)"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**设计文档**:{design_doc}
|
||
**分支**:impl/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
**改动文件**:{files}
|
||
**CI**:{ci_status}
|
||
**文档同步**:{doc_status}
|
||
|
||
bug:
|
||
steps:
|
||
- "读 Bug 描述 + 复现步骤(Issue body)"
|
||
- "定位根因(读代码/日志,不要猜测)"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b fix/{issue_number}-{brief}"
|
||
- "修复 + 写回归测试"
|
||
- "文档同步:如修复涉及设计/接口变更,同步更新 docs/design/ 对应文档"
|
||
- "git add -A && git commit -m '[moz] fix: {title}' && git push origin fix/{issue_number}-{brief}"
|
||
- "CI 通过后创建 PR(body 含 Closes #{issue_number} + 根因和修复方式)"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**根因**:{root_cause}
|
||
**修复方式**:{fix_approach}
|
||
**分支**:fix/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
**CI**:{ci_status}
|
||
**文档同步**:{doc_status}
|
||
|
||
docs:
|
||
steps:
|
||
- "读文档目标(Issue body)"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b docs/{issue_number}-{brief}"
|
||
- "编写文档到 docs/ 对应目录"
|
||
- "git add -A && git commit -m '[moz] docs: {title}' && git push origin docs/{issue_number}-{brief}"
|
||
- "创建 PR(body 含 Closes #{issue_number})"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**文档路径**:{doc_path}
|
||
**分支**:docs/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
|
||
refactor:
|
||
steps:
|
||
- "读重构目标 + 影响范围(Issue body)"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b refactor/{issue_number}-{brief}"
|
||
- "重构 + 确保现有测试不 break(python3 -m pytest tests/unit/ -q)"
|
||
- "文档同步:如重构涉及架构变更,同步更新 docs/design/ 对应文档"
|
||
- "git add -A && git commit -m '[moz] refactor: {title}' && git push origin refactor/{issue_number}-{brief}"
|
||
- "CI 通过后创建 PR(body 含 Closes #{issue_number} + 重构内容和影响范围)"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**重构范围**:{scope}
|
||
**测试结果**:{test_result} passed
|
||
**分支**:refactor/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
**CI**:{ci_status}
|
||
**文档同步**:{doc_status}
|
||
|
||
test:
|
||
steps:
|
||
- "读测试目标(Issue body)"
|
||
- "git checkout main && git pull origin main"
|
||
- "git checkout -b test/{issue_number}-{brief}"
|
||
- "编写测试脚本到 tests/ 对应目录"
|
||
- "运行测试验证(python3 -m pytest {test_file} -v)"
|
||
- "git add -A && git commit -m '[moz] test: {title}' && git push origin test/{issue_number}-{brief}"
|
||
- "创建 PR(body 含 Closes #{issue_number})"
|
||
- "等 Review"
|
||
output_template: |
|
||
[Action Report]
|
||
**测试文件**:{test_file}
|
||
**测试结果**:{test_result}
|
||
**分支**:test/{issue_number}-{brief}
|
||
**PR**:#{pr_number}
|
||
|
||
infrastructure:
|
||
steps:
|
||
- "根据 Issue body 中的错误来源和日志片段排查问题"
|
||
- "修复基础设施问题(CI runner/网络/Gitea/磁盘等)"
|
||
- "修复后在 Issue 上 comment 说明修复方式和结果"
|
||
- "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks/<task_id>/comments,comment_type=action_report)"
|
||
output_template: |
|
||
[Action Report]
|
||
**问题**:{problem}
|
||
**根因**:{root_cause}
|
||
**修复方式**:{fix}
|
||
**验证**:{verification}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# ci_failure
|
||
# ---------------------------------------------------------------------------
|
||
ci_failure:
|
||
steps:
|
||
- "查看完整 CI 日志(PR 页面或 Gitea Actions 页面)"
|
||
- "根据 CI 日志判断失败原因类型:\n a. 代码问题(lint/test 失败)→ 修复失败的测试 → push 到原分支 → CI 自动重跑\n b. 基础设施问题(runner 环境/Python/venv/Gitea/网络故障)→ 在该仓库创建 Issue 指派 jiangwei-infra(label 必须包含 type/infrastructure)"
|
||
- "文档同步:如修复涉及设计/接口变更,同步更新 docs/design/ 对应文档"
|
||
- "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks/<task_id>/comments,comment_type=action_report)— 报告中说明判断的原因类型和执行的操作,以及文档是否需要更新"
|
||
output_template: |
|
||
[Action Report]
|
||
**原因类型**:{cause_type}
|
||
**操作**:{action}
|
||
**CI 重跑**:{ci_status}
|
||
**文档同步**:{doc_status}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# review_result — APPROVED
|
||
# ---------------------------------------------------------------------------
|
||
review_result_approved:
|
||
steps:
|
||
- "合并 PR(Gitea API: POST /repos/{repo}/pulls/{pr_number}/merge)"
|
||
- "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks/<task_id>/comments,comment_type=action_report)"
|
||
output_template: |
|
||
[Action Report]
|
||
**PR #{pr_number}**:merged
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# review_result — REQUEST_CHANGES
|
||
# ---------------------------------------------------------------------------
|
||
review_result_request_changes:
|
||
steps:
|
||
- "按审查意见逐条修改代码"
|
||
- "文档同步:如审查涉及设计/接口变更,同步更新 docs/design/ 对应文档"
|
||
- "push 到原分支 → CI 自动跑"
|
||
- "CI 通过后等重新 Review"
|
||
- "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks/<task_id>/comments,comment_type=action_report)— 报告中必须说明文档是否需要更新及处理结果"
|
||
output_template: |
|
||
[Action Report]
|
||
**修改内容**:{changes}
|
||
**CI**:{ci_status}
|
||
**文档同步**:{doc_status}
|