forked from Gitlink/gitlink-cli
27 lines
1.4 KiB
Go
27 lines
1.4 KiB
Go
package defs
|
||
|
||
import wf "github.com/gitlink-org/gitlink-cli/shortcuts/workflow"
|
||
|
||
// RegisterCodeQuality registers the code-quality workflow definition.
|
||
func RegisterCodeQuality() {
|
||
wf.Register(&wf.WorkflowDef{
|
||
Name: "code-quality",
|
||
Category: "质量",
|
||
Description: "代码质量看门人:PR 提交 → Review → CI 检查 → 结果汇总",
|
||
Trigger: wf.TriggerDef{
|
||
Type: "poll",
|
||
On: "pr.opened",
|
||
Interval: "5m",
|
||
},
|
||
Steps: []wf.StepDef{
|
||
{Type: wf.StepTypeCommand, Name: "open-prs", Purpose: "获取开放 PR 列表", Target: "pr +list --state open --limit 20"},
|
||
{Type: wf.StepTypeCommand, Name: "ci-builds", Purpose: "获取 CI 构建状态", Target: "ci +builds --limit 10"},
|
||
{Type: wf.StepTypeCommand, Name: "repo-info", Purpose: "获取仓库保护规则配置", Target: "repo +info"},
|
||
{Type: wf.StepTypeCommand, Name: "commits", Purpose: "获取最近提交供 CI 关联分析", Target: "commit +list --limit 30"},
|
||
{Type: wf.StepTypeCommand, Name: "branches", Purpose: "获取分支列表检查保护状态", Target: "branch +list"},
|
||
{Type: wf.StepTypeSkill, Name: "review", Purpose: "AI 审查 PR 代码质量", Target: "gitlink-review", DependsOn: []string{"open-prs"}},
|
||
{Type: wf.StepTypeSkill, Name: "ci-diagnosis", Purpose: "AI 诊断 CI 构建失败并给出建议", Target: "gitlink-ci", DependsOn: []string{"ci-builds", "commits"}},
|
||
},
|
||
})
|
||
}
|