关于 loop-on-ci
用于监控拉取请求检查、诊断失败并持续迭代,直到所需 CI 检查通过的编码技能。它使用 `gh pr checks` 查看拉取请求关联的完整检查集。
主要功能
- 01检查全部拉取请求状态
- 02监控待处理检查
- 03修复前诊断失败原因
- 04每次推送后重新检查
- 05避免绕过钩子
适用场景
- 01跟踪拉取请求的 CI 状态
- 02排查失败或不稳定的检查
- 03确认推送后检查通过
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cursor/ 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