关于 loop-on-ci
loop-on-ci 是用于反复处理拉取请求 CI 失败、直到必需检查通过的技能。它通过 `gh pr checks` 查看和监控完整的 PR 检查集,并在每次推送后重新检查。
主要功能
- 01解析分支对应的拉取请求
- 02查看所有 PR 附加检查
- 03快速失败模式监控待处理检查
- 04诊断失败并在推送后复查
- 05报告 CI 状态、修复和 PR 链接
适用场景
- 01确认拉取请求是否可合并
- 02查找并处理必需检查中的失败
- 03推送修复后监控待处理检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ poteto/ plugins --skill loop-on-ci安装后在 Claude Code 中输入/loop-on-ci确认已加载。
详细介绍
CI 循环
触发条件
需要监控一个分支或拉取请求,并持续处理 CI 失败,直到所有必需检查都通过。
使用 gh pr checks 作为唯一可信来源。它包含所有关联到 PR 的检查,而 gh run list 只涵盖 GitHub Actions。
工作流
- 查找当前分支对应的 PR。
- 等待之前先检查当前 PR 的检查状态。
- 如果已有检查失败,先诊断这些失败。
- 如果检查仍在等待中,使用
gh pr checks --watch --fail-fast进行监控。 - 每次推送后,重新检查 PR 的完整检查集,并重复此流程,直到所有检查通过。
命令
# Resolve the active PR
gh pr view --json number,url,headRefName
# Inspect all attached checks
gh pr checks --json name,bucket,state,workflow,link
# Watch pending checks and fail fast
gh pr checks --watch --fail-fast
# GitHub Actions logs, when the failing check links to a GHA run
gh run view <run-id> --log-failed
防护措施
- 尽可能针对单个失败原因进行修复。
- 不要绕过钩子(
--no-verify)来强行推进。 - 如果失败明显与 PR 无关,且在 main 上似乎已修复,请合并最新的 main,而不是给 PR 添加无关修复。
- 如果失败具有不稳定性,只重试一次,并报告不稳定证据。
- 每次推送后都重新运行
gh pr checks --json name,bucket,state,workflow,link;检查集可能会发生变化。
输出
- 当前 CI 状态
- 失败摘要和已应用的修复
- 检查全部通过后的 PR URL
评论
支持 Markdown