mcpField
G
gha

gha

github.com/ykdojo云与 DevOps10.3k85 次安装5 周前更新
代码仓库

关于 gha

gha 是一项使用 gh CLI 调查 GitHub Actions 运行记录的技能,重点是定位实际失败原因、检查特定任务的历史记录并评估潜在修复。

主要功能

  1. 01分析工作流与任务日志
  2. 02检查失败任务的历史记录
  3. 03评估复发情况与成功率
  4. 04核实引入故障的提交
  5. 05搜索开放 PR 中的修复

适用场景

  1. 01查明 Actions 运行以退出码 1 结束的原因
  2. 02判断特定任务故障是否反复发生
  3. 03定位可能导致持续回归的提交
  4. 04检查开放 PR 是否已修复故障

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ykdojo/claude-code-tips --skill gha

安装后在 Claude Code 中输入/gha确认已加载。

详细介绍

调查此 GitHub Actions URL:$ARGUMENTS

使用 gh CLI 分析此工作流运行。调查内容应包括:

  1. 获取基本信息并确定实际故障:

    • 哪个工作流/作业失败了?何时失败?对应哪个提交?
    • 关键:仔细阅读完整日志,找出具体是什么导致退出代码为 1。
    • 区分警告/非致命错误与实际故障。
    • 查找“failing:”“fatal:”等模式,或决定何时以代码 1 退出的脚本逻辑。
    • 如果同时看到“non-fatal”和“fatal”错误,请重点关注实际导致故障的内容。
  2. 检查不稳定性:检查完全相同的失败作业最近 10–20 次运行:

    • 重要:如果某个工作流包含多个作业,必须检查具体失败作业的历史记录,而不是只检查工作流。
    • 使用 gh run list --workflow=<workflow-name> 获取运行 ID,然后使用 gh run view <run-id> --json jobs 检查具体作业的状态。
    • 这是一次性故障,还是此特定作业反复出现的问题?
    • 此作业近期的成功率是多少?
    • 此作业最近一次通过是什么时候?
  3. 确定引入故障的提交(如果此特定作业存在反复失败的情况):

    • 找出此特定作业首次失败的运行,以及最近一次通过的运行。
    • 确定引入故障的提交。
    • 进行验证:该提交之后的所有运行中,此作业是否都失败?该提交之前的所有运行中,此作业是否都通过?
    • 如果验证属实,请高置信度地报告引入故障的提交。
  4. 根本原因:结合日志、历史记录和可能引入故障的提交,判断可能的原因。

    • 聚焦于实际导致故障的因素(而非你看到的任意错误)。
    • 根据日志和故障逻辑验证你的假设。
  5. 检查是否已有修复 PR:搜索可能已解决此问题的开放 PR:

    • 使用 gh pr list --state open --search "<keywords>" 搜索相关错误消息或文件名。
    • 检查是否有开放 PR 修改了失败的文件/工作流。
    • 如果存在修复 PR,请在报告中注明,并跳过建议部分。

请撰写最终报告,包含:

  • 故障摘要(具体是什么触发了退出代码 1)
  • 不稳定性评估(一次性还是反复出现、成功率)
  • 引入故障的提交(若已识别并验证)
  • 根本原因分析(基于实际故障触发因素)
  • 已有修复 PR(若找到,请包含 PR 编号和链接)
  • 建议(若已有修复 PR,则跳过)

评论

支持 Markdown