用途:在推送 GitHub Actions 工作流前进行测试与验证,减少 CI 失败。适用于创建或修改工作流、调试 CI 失败、为新仓库搭建 CI/CD、迁移到 monorepo、添加服务容器,以及处理缓存失败和 CI 中“module not found”等问题。
主要能力:推送前完整校验工作流;检查缓存配置,确保显式指定 cache-dependency-path;校验 monorepo 工作区依赖的构建顺序;指导服务容器配置;验证路径是否存在且可访问;使用 act(基于 Docker 的模拟)本地运行工作流;用 actionlint 和 yamllint 做静态分析。
使用方式:可直接要求“推送前校验我的 GitHub Actions 工作流”,或提供报错信息进行调试,也可请求为新项目搭建测试。工具安装示例:macOS 使用 brew install act actionlint yamllint;Linux 可用官方安装脚本安装 act 和 actionlint,并用 pip install yamllint。还会创建 .github/scripts/validate-workflows.sh 做静态分析、缓存配置检查、路径校验等。预推送清单包括运行 actionlint、执行校验脚本、用 act 做 dry run(如 act pull_request -W .github/workflows/[workflow].yml -n)、检查缓存路径与构建顺序、确认服务容器是否需手动启动。
关键规则:使用缓存时始终显式写 cache-dependency-path;monorepo 中先构建工作区依赖再类型检查;npm ci 从根目录运行而非工作区目录;服务容器无法通过 options 覆盖 CMD,自定义命令需在步骤中手动启动。
限制:act 本地测试不覆盖 GitHub 缓存系统、服务容器运行差异、干净构建环境等,因此需配合 actionlint 和自定义校验脚本。资料未提供价格、平台支持范围等更多信息。