mcpField
N
nx-cloud-ci-failure-review

nx-cloud-ci-failure-review

github.com/nrwl云与 DevOps2964 次安装今天更新
代码仓库

关于 nx-cloud-ci-failure-review

这是一个用于审查 Nx Cloud CI 失败的只读工作流,面向需要调查单次执行或工作区失败情况的团队。它要求依据实时 API 记录和证据归类,并区分根因与后续取消。

主要功能

  1. 01聚焦调查指定执行记录
  2. 02审查最近 24 小时失败
  3. 03按任务错误签名分组
  4. 04结合任务与工作流状态判断
  5. 05提供基于证据的后续建议

适用场景

  1. 01比较用户提供的 CIPE 或运行组
  2. 02汇总工作区近期失败情况
  3. 03区分主要错误与后续取消

MCP 相关

本技能通过 `nx-cloud-api` 技能及 `npx nx-cloud api` 读取 Nx Cloud 数据;所有读取均为只读。

安装

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

$npx skills add https://github.com/nrwl/nx-ai-agents-config --skill nx-cloud-ci-failure-review

安装后在 Claude Code 中输入/nx-cloud-ci-failure-review确认已加载。

详细介绍

Nx Cloud CI 失败审查

所有 Nx Cloud 读取操作都需要 nx-cloud-api 技能。此工作流为只读。

将失败的流水线归纳为少量诊断类别。流水线失败并不能证明是 Agent 或平台导致的失败。每个类别的归因程度不得超出证据所支持的范围。

范围与数据收集

当用户提供一个或多个 CIPE 或运行组链接时,使用聚焦调查模式。先获取这些确切记录,再跟进其返回的运行组、运行、任务和工作流链接。直接比较用户提供的执行记录。除非用户要求分析复发情况或范围,否则不要查询宽泛的时间窗口,也不要进行整个工作区范围的排名。将跟随指定关键错误发生的取消视为后果,而不是单独的根因类别。

当用户要求审查工作区失败情况时,使用审查模式。默认审查过去 24 小时内的失败。CIPE 和运行组列表筛选器使用的是 createdAt,而不是失败时间。查询 30 小时的创建时间窗口,以覆盖最长的常规 6 小时 CI 时长。说明预期的 24 小时审查时段和 30 小时创建时间窗口。

查询 statuses=FAILED、statuses=TIMED_OUT 和 statuses=CANCELED(cipes 筛选器仅接受终态)。说明分支、CI 上下文、状态、端点和记录数量。扩大时间窗口或混合不相关的仓库/工作区之前,先征求用户同意。

每次读取都使用 nx-cloud-api(npx nx-cloud api)。使用 --describe 检查 cipes、run-groups、run-groups/{runGroupId}、runs、runs/{runId}/tasks 以及相关 steps 和 instances 端点的实时架构。使用 --list-operations 确认路由;公共 API 没有单独的工作流路由。通过跟进返回的 links 获取子记录。聚焦调查模式从用户提供的 CIPE 开始。审查模式从失败的 CIPE 及其关联的运行组开始。只使用实时文档中列出的筛选器和字段。先获取一页范围较窄的结果,并检查 nextCursor 后再继续。

按以下顺序收集:

  1. 获取失败、超时和取消的 CIPE,以及其状态、时间戳、分支和 CI 上下文。使用较小且明确说明的 --pages 值。只有在退出码为零且 nextCursor: null 时,才进行工作区范围的类别排名;否则应报告数据不完整。
  2. 获取关联的运行组及其文档中列出的关键错误字段。
  3. 获取每个选定组的运行和终态任务行。
  4. 仅在任务数据无法解释该组时,才检查工作流和实例状态。
  5. 获取具有代表性的案例中最少且相关的任务或实例日志摘录。

使用最多包含 5 个范围较窄的详细请求的信号量。只有在某个类别进入前 5 名后才获取日志。读取 CI 日志内容前告知用户。仅引用已脱敏的错误行。

在原因和时间信息证明取消应归入其他类别之前,将取消视为单独类别。缺少此类上下文时,不要将取消称为失败。

分组方法

根据稳定证据构建分组。优先使用任务标识符和规范化的错误特征。规范化时间戳、GUID、重试计数器、临时路径和随机端口。保留能够区分其他相似消息的堆栈上下文、命令和错误代码。

仅在存在相应证据时使用以下类别:

  • 重复任务错误。
  • 任务超时。
  • 取消。
  • 工作流或 Agent 故障。
  • 未知流水线故障。

只有在工作流/实例状态、关键错误或 Agent 证据支持,且没有任务故障能解释流水线问题时,才将分组归类为工作流或 Agent 故障。不要仅凭缺少任务日志就推断为基础设施问题。

分类前,先综合判断整个流水线的情况。任务可能记录为 SUCCEEDED 或命中缓存,但主作业却在下载、验证或恢复制品时失败。请比较运行组的 criticalErrorMessage、任务状态、缓存状态、工作流状态以及后续取消情况。在这种情况下,将主作业的缓存恢复错误归为主要原因,取消的运行则视为后果。

对于每个分组,记录其 CIPE 数量、运行组数量、受影响的任务数量、首次和最后一次出现的时间、分支/上下文,以及一到两个代表性 ID。排序时,先按受影响的流水线数量,再按复发次数,最后按有记录的阻塞时长。

后续操作规则

  • 重复任务错误:如果存在相关的工作区检出,请检查记录提交中的 CODEOWNERS 和项目所有权元数据。建议可能的审查负责人。缺少这些证据时,不要分配工作或声称某人拥有所有权。
  • 任务超时:比较执行时长和资源证据。如果证据无法表明直接原因,请要求进行有针对性的复现或提供资源报告。
  • 取消:指出有记录的取消来源;否则,将其单独归为原因未知的取消。
  • 工作流或 Agent 故障:只有证据支持这是暂时性事件时,才重试或监控。否则,检查所提及的工作流/Agent 资产。
  • 未知:请求最少量的日志或运行详情,以区分不同情况。

未经明确批准,不要更改代码、工作流或资源分配。

报告格式

# Failed CI review

## Scope

- Window: …
- Data: …

## Failure groups

### 1. <evidence-level category> — <short signature>

- **Confirmed facts:** affected CIPEs/runs/tasks; representative IDs; log excerpt.
- **Assessment:** **Confirmed** / **Likely** / **Needs diagnostic run** — …
- **Impact:** …
- **Highest-leverage next action:** …

## Unclassified or incomplete data

- …

审查报告最多包含五个分组。在定向调查模式下,如果提供的执行记录具有相同的规范化特征,则将其作为一组进行比较。每项发现都应链接到确切的 CIPE、运行组、运行记录和任务(如有)。如果分页、资产缺失或上下文不足影响结论,请说明数据限制。

评论

支持 Markdown