用途:GitHub Actions 通过事件驱动的 CI/CD 流水线自动化软件工作流。工作流是 .github/workflows/ 下的 YAML 文件,用仓库事件触发,定义 jobs、steps 与 actions。本技能覆盖四类 Action:工作流文件、自定义 JavaScript Action(跨平台,使用 @actions/toolkit)、自定义 Docker Action(仅 Linux、启动较慢)、Composite Action(组合多个步骤复用)。
主要能力:创建、评估、优化工作流。创建流程为识别触发条件(push、pull_request、workflow_dispatch、schedule 等)、定义 jobs 与运行器、加固安全、启用缓存与矩阵并行、用 act 或 GitHub CLI 本地测试。评估涵盖安全扫描(权限、密钥泄露、Action 固定、pull_request_target 使用)、性能分析与最佳实践审查。
必要用法:将 GITHUB_TOKEN 权限设为只读:permissions: contents: read;将 Action 固定到 commit SHA;云部署使用 OIDC:permissions: id-token: write。避免对不可信代码使用 pull_request_target;不记录密钥,动态值用 ::add-mask::;用户输入经环境变量校验。可用 concurrency 取消过期运行。
适用场景:Ruby/Rails 与 RSpec、TypeScript/Node.js、Fly.io 部署等 CI/CD,以及 monorepo、发布自动化。
限制与反模式:Docker Action 以 root 运行、硬编码密钥、权限过宽、缺少缓存、可并行却串行、用分支引用而非标签或 SHA、未设 timeout-minutes、不需要时用 fetch-depth: 0。其余细节暂未提供。