用途:生成并校验可用于生产的 GitHub Actions 工作流与自定义动作,覆盖 CI、部署、供应链安全等场景。
主要能力:支持工作流文件(.github/workflows/.yml)、自定义动作(composite、Docker、JavaScript,.github/actions//action.yml)与可复用工作流(workflow_call);涵盖 SLSA 证明、SBOM、Cosign 签名、OIDC 云认证、monorepo CI(Nx affected、稀疏检出、pnpm 缓存)等。内置模板(基础工作流、可复用工作流、composite/Docker/JavaScript 动作)与多个示例(Node.js CI、Docker 构建推送、monorepo CI、依赖审查、SBOM 证明、ChatOps、OIDC 多云端认证、发布部署、Docker 扫描、PR 变更路由)。
使用方式:先收集需求(触发器、运行器、依赖、环境、安全姿态),阅读 best-practices.md、version-discovery.md、expressions-and-contexts.md 等参考;按需阅读 advanced-triggers.md、custom-actions.md。生成时通过 git ls-remote、gh api 或 Context7 MCP/WebSearch 解析动作版本,输出 owner/repo@<40位SHA> # vX.Y.Z 形式。校验分三阶段:actionlint 1.7.10 静态分析、11 项最佳实践检查、act v0.2.84 本地执行(需 Docker)。修复后重新校验,最多 3 轮。
限制与要求:所有 uses 必须 SHA 固定并带版本注释;顶层 permissions: {},按 job 最小授权;每个 job 首步使用 step-security/harden-runner;设置 timeout-minutes;避免在 run: 中直接插值不可信输入,改用 env: 间接传递;跨仓库操作使用 actions/create-github-app-token;输出用 >> $GITHUB_OUTPUT 与 >> $GITHUB_STEP_SUMMARY。动作模板不含 harden-runner,由调用方负责。act 与 GitHub 行为存在差异,ARM Mac 需加 --container-architecture linux/amd64。