SuperAPI AI 工具集

pr-failure-scan

部署与运维

查看项目

更新于 10-15 21:12

技能介绍

用途:针对 dotnet/runtime 的某个 Pull Request 进行 CI 失败排查,识别尚未被 Build Analysis 收录的失败,匹配已有 Known Build Error(KBE),并为新问题准备或创建 KBE。

主要能力与流程:

  • 输入解析:接受 PR 编号、PR URL、含 PR 引用的文本,以及可选的 dryrun 标记(不区分大小写);源仓库固定为 dotnet/runtime。
  • 身份与权限:解析 PR 元数据(标题、作者、URL、head SHA、base 分支、状态、草稿状态)与当前认证的 GitHub 用户;若非本人 PR,须显式确认,并提示可能以本人账号创建 issue 的风险,拒绝则立即停止。
  • 收集上下文:取 head SHA 最新完成的 check runs,收集 Build Analysis 载荷、非成功 CI checks、关联的 AzDO 构建链接。
  • 判定范围:候选来自 Build Analysis 未知项,以及被明确排除分析的失败流水线;跳过 Build Analysis 已视为已知的失败;若与原始 CI 证据冲突,以原始证据为准并在报告中说明。
  • 分析候选:收集 Build Analysis 摘录、AzDO 失败时间线、相关日志、Helix 控制台日志等证据,提取最窄签名,执行共享 KBE 查询流程,归类为“需要新 KBE”“已匹配但 Build Analysis 可能遗漏”“未处理”。
  • 草稿与创建:每个需新 KBE 的条目都先写 markdown 草稿文件(含建议标题、标签、正文,写入会话产物目录或仓库外临时目录,不写入仓库检出目录);dryrun 只写草稿并停止,live 模式逐条询问用户是否创建 issue,仅显式确认后创建,且正文须含 AI 披露说明。
  • 最终输出包含四部分:新建 issue 或草稿路径、新 KBE 覆盖的失败、Build Analysis 可能遗漏的已有 KBE 匹配、未处理失败及原因。

使用方式示例:/pr-failure-scan <PR URL>;/pr-failure-scan <PR URL> dryrun;create KBEs for PR <number>。

限制:该技能为 PR 定向且感知本地账号,不尝试复现定时 CI 失败扫描工作流的安全输出或后续 PR 行为;dryrun 产物不一定等同线上 issue 正文;证据不足时只能生成需人工复核的草稿或归入未处理。详细共享规则以 .github/workflows/shared/create-kbe.instructions.md 为准。