工程开发
cicd-diagnostics avatar

cicd-diagnostics

诊断 dotCMS CI/CD GitHub Actions 故障,包括 PR 构建、合并队列问题及每日测试报告。

简介

cicd-diagnostics 技能是一款专门为资深平台工程师设计的工程工具包,用于排查并解决 dotCMS/core 存储库中的 CI/CD 管线故障。它提供了一套结构化且基于证据的工作流程,协助从原始故障日志中厘清根本原因,避免在确认故障是否为已知问题、不稳定测试(flaky test)或基础设施问题之前,就过早跳入原始码分析的常见错误。

  • 自动识别 GitHub Actions 工作流程(包括 PR、合并队列、主分支及每日运行)中失败的工作与步骤。
  • 执行智慧型日志分析,提取堆栈追踪、断言错误及基础设施错误,同时过滤掉来自 'continue-on-error' 步骤的干扰信息。
  • 利用内建诊断脚本,通过 diagnose.py 工具执行预检、工作区管理及结构化的证据收集。
  • 搜寻现有的 GitHub 问题以获取测试故障的历史背景,确保在开始深入调查前识别已知问题。
  • 通过 evidence.py 提供进阶日志分析,将故障分类为新缺陷、不稳定测试或环境相关的超时问题。
  • 协助比较不同工作流程类型,例如 PR 验证与完整合并队列测试套件之间的差异。

使用说明与限制:

  • 必须在 dotCMS/core 的有效检出(checkout)环境中执行。
  • 依赖 Python 3.8+ 及已验证的 GitHub CLI (gh) 环境。
  • 应始终优先考虑分类诊断与历史问题搜寻,再进行深入代码分析,以优化 Token 使用量与工程时间。
  • 使用提供的子指令(如 --metadata, --logs, --evidence)来逐步收集资料,而非在每个步骤都抓取完整日志。
  • 避免手动临时解析 JSON 日志;请使用整合的工具函数,确保数据提取的一致性与准确性。
  • 该工具针对识别不稳定测试、基础设施连接问题及部署/验证错误等特定信号进行了优化。

仓库统计

Star 数
943
Fork 数
480
Open Issue 数
820
主要语言
Java
默认分支
main
同步状态
空闲
最近同步时间
2026年4月29日 14:57
在 GitHub 查看