GitHub Actions Rerun Effectiveness Audit

审计 GitHub Actions 的重跑依赖关系及重跑后成功率,以识别浪费 CI 时间的工作流。

安装

概览

GitHub Actions Rerun Effectiveness Audit 是一个专门用于分析 GitHub Actions 工作流重跑行为的技术工具,旨在帮助开发者识别 CI/CD 流程中的效率瓶颈。该工具通过解析 GitHub Actions 运行记录的 JSON 导出文件,追踪每次工作流的执行历史与重跑事件,从而量化重跑频率、成功率以及由此产生的资源浪费。其核心目标是揭示那些频繁需要重跑但成功率低的工作流,进而指导团队优化构建逻辑、减少不必要的失败和重复执行。工具支持灵活的过滤条件,可按工作流名称、分支、触发事件、提交者等多个维度进行分组分析,满足不同团队的精细化审计需求。最终输出包含严重性分级(正常、警告、关键)的评估报告,为制定 CI 策略提供数据支撑。

核心功能特点

  1. 自动解析 GitHub Actions 运行 JSON 文件,提取重跑事件与执行详情
  2. 按工作流或工作流-分支组合分组统计重跑率、重跑成功率和额外耗时
  3. 估算因重跑导致的无效 CI 分钟数,量化资源浪费程度
  4. 支持多种过滤规则,包括正则匹配工作流名、分支、事件类型、提交者等
  5. 提供文本和 JSON 两种输出格式,并可设置关键指标阈值触发告警
  6. 允许在发现关键问题时主动终止流程,便于集成到自动化检查中

适用场景

该工具特别适用于持续集成环境复杂、工作流数量众多的开发团队。当多个并行工作流频繁出现构建失败且依赖重跑机制恢复时,传统的手动排查难以系统性地定位问题根源。使用本工具可以快速识别出那些重跑率高但成功率低的‘顽固’工作流,例如因测试不稳定、资源竞争或环境配置漂移导致的问题。通过分析这些工作流的执行历史,团队能够有针对性地改进测试用例、增强环境一致性或优化任务调度策略,从而显著提升整体 CI 效率。此外,对于采用矩阵构建或多阶段流水线的项目,该工具还能帮助区分哪些子任务或阶段是重跑的主要来源,实现精准优化。结合自动化门禁机制,它还可作为代码合并前的质量检查环节,防止低效或不可靠的工作流进入主干分支,保障交付稳定性。