用途:在编辑 GitHub Actions 工作流、处理 action 运行时弃用警告(如 Node.js 运行时迁移)时使用。适用情形包括:工作流日志报告某 action 运行在已弃用运行时;正在升级 .github/workflows/*.yml 或 *.yaml 中的 action 版本;需要在现代化 action 依赖的同时保持现有工作流行为。
升级规则:优先升级到与工作流兼容的各 action 最新稳定主版本;优先使用不可变固定,将目标发布解析为完整提交 SHA 并用于 uses:;最终建议中不要固定到可变标签或分支(如 @v4 或 @main);每次提交只升级一个 action(或一组紧密相关的 action),便于隔离失败;升级运行时/依赖 action 时保持现有工作流行为不变。
跟踪范围:出现警告时优先审查 actions/* 下的第一方 action,尤其是 actions/setup-*(如 setup-node、setup-python、setup-dotnet),以及工作流日志中运行时弃用警告明确点名的其他 action。
固定模式示例: steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.3.1
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.4 推荐升级时先确定最新兼容版本,再使用对应提交 SHA 并可选加版本注释。
验证清单:修改后确保所有被编辑工作流仍可解析,且触发器/权限保持不变(除非有意更改);运行受影响工作流(或等效本地构建/测试命令)确认升级步骤成功;确认发布/签名/制品步骤仍产出预期结果;检查运行日志是否出现新的弃用警告或运行时迁移提示。
PR 说明应包含:升级了哪些 action(from -> to);是否有 action 无法迁移到新主版本及原因;重新运行了哪些工作流以验证变更。
与 Dependabot 的互补:Dependabot 可自动完成许多更新,但当仓库未对工作流启用 Dependabot、运行时警告早于自动更新出现、或 action 升级后需要保持行为的验证时,本技能仍有帮助。