GitHub Actions 矩阵优化器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/github-actions-matrix-optimizer-2。
技能介绍
矩阵构建吃掉的 CI 分钟去哪了
matrix 让同一个 job 在多个维度上并行展开,看似省事。问题在于,当维度变多时,笛卡尔积会让组合数指数级膨胀,其中不少组合实际上是冗余的——有的只改了无关变量却跑着同一套测试,有的历史运行中从没产出过独立结果。这些组合照样占着 runner,把 CI 分钟烧在重复劳动上。
技能如何工作
核心链路是「拉取运行记录 → 分析矩阵策略 → 定位冗余 → 给出建议」:
- 通过 GitHub REST API v3 的
workflow runs端点读取仓库中 workflow 的运行历史 - 解析各 job 的矩阵策略,还原每个组合的实际执行情况
- 标记冗余组合:行为重复、结果可被其他组合覆盖,或长期没有独立产出的组合
- 针对这些组合给出 fail-fast 优化建议,让失败尽快暴露并中止后续无意义的执行,缩短整条流水线的耗时
目标是把省下来的 CI 分钟还给真正需要跑的构建。
适用边界与注意点
- 前提是仓库已启用 GitHub Actions
- 需要 Node.js 运行时支持
- 它只做诊断与建议,是否删除组合、调整
fail-fast策略仍由维护者决定 - 优化不改变测试本身的覆盖度,只减少重复执行
- 上游资料较简略,面对
include/exclude交织的自定义矩阵时,建议结合仓库实际情况二次核对
使用场景
- CI 账单变高,想在删除多余矩阵组合前确认哪些是真正冗余的。
- 多版本 Node.js 矩阵导致流水线膨胀,想定位只跑重复测试的组合。
- fail-fast 策略不够清晰,想依据运行记录判断哪些组合可提前终止。
- 合并依赖矩阵后组合数翻倍,想保留关键覆盖同时缩短 CI 时间。
适合人员
- 维护 CI 成本的 DevOps 工程师,需要精准削减 workflow 时长。
- 推动流水线提速的工程效能成员,想基于数据识别矩阵冗余。
- 编写 matrix 配置的 GitHub Actions 维护者,想安全清理组合。