mcpField
L
loop-on-ci

loop-on-ci

github.com/poteto云与 DevOps12952 次安装21 周前更新
代码仓库

关于 loop-on-ci

loop-on-ci 是用于反复处理拉取请求 CI 失败、直到必需检查通过的技能。它通过 `gh pr checks` 查看和监控完整的 PR 检查集,并在每次推送后重新检查。

主要功能

  1. 01解析分支对应的拉取请求
  2. 02查看所有 PR 附加检查
  3. 03快速失败模式监控待处理检查
  4. 04诊断失败并在推送后复查
  5. 05报告 CI 状态、修复和 PR 链接

适用场景

  1. 01确认拉取请求是否可合并
  2. 02查找并处理必需检查中的失败
  3. 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。

工作流

  1. 查找当前分支对应的 PR。
  2. 等待之前先检查当前 PR 的检查状态。
  3. 如果已有检查失败,先诊断这些失败。
  4. 如果检查仍在等待中,使用 gh pr checks --watch --fail-fast 进行监控。
  5. 每次推送后,重新检查 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