Repolode
github

github/gh-actions-lock

一款 GitHub CLI 扩展,将工作流使用的所有 Action 锁定到确切提交并校验锁文件。

Star
302
Fork
23
未关闭 Issue
33
最近提交
前天

这是什么?

gh-actions-lock 是一个 GitHub CLI 扩展,用于生成并校验 GitHub Actions 的依赖锁文件。它会解析工作流中直接和间接引用的所有 Action,将每个 Action 实际对应的提交写入 .github/workflows/actions.lock,使标签或分支的移动无法悄悄改变 CI 的执行内容。

该工具提供多种模式:修复模式用于生成或更新锁文件;relock 模式可将 main、v4 等浮动引用推进到上游的最新提交;verify 模式用于 CI,执行与修复相同的检查;verify-local 则是离线模式,适合 pre-commit 钩子,用于确认每个 uses: 都有锁文件记录。它支持 github.com 和数据驻留的 GitHub Enterprise Cloud,不支持 GitHub Enterprise Server。

项目也列出了已知限制:被其他仓库调用的可复用工作流、未带摘要的容器镜像不会被锁定,本地 ./ 形式的 Action 不会被跟踪。

核心功能

  • 01将直接和间接引用的 GitHub Actions 锁定到 actions.lock 中的确切提交。
  • 02提供用于 CI 的 verify 模式,以及用于 pre-commit 的离线 verify-local 模式。
  • 03可将 main、v4 等浮动引用更新为上游的最新提交。
  • 04支持 github.com 和数据驻留的 GitHub Enterprise Cloud。
  • 05通过 --json 输出机器可读的结果。

适用场景

  • 在仓库中锁定 Action 版本,使 CI 运行的是经过审查的提交。
  • 在 Pull Request 检查中加入锁文件校验步骤。
  • 在提交工作流改动前运行离线覆盖率检查。

快速上手

  1. 1

    安装 GitHub CLI 扩展

    gh extension install github/gh-actions-lock
  2. 2

    在仓库检出目录中固定所有 action 并生成锁文件

    gh actions-lock
  3. 3

    暂存工作流目录,使锁文件纳入源码管理

    git add .github/workflows/

使用前须知

  • 需要已通过身份验证的 gh CLI。
  • 不支持 GitHub Enterprise Server。
  • 从其他仓库调用的可复用工作流不会被锁定。
  • 没有 @sha256 摘要的容器镜像会产生警告且不会被锁定。

收录于专题

标签

#github-actions#supply-chain-security#dependency-pinning#lockfile#cli#devops#gh-extension#go#security

常见问题

gh-actions-lock 是什么?
一款 GitHub CLI 扩展,将工作流使用的所有 Action 锁定到确切提交并校验锁文件。 gh-actions-lock 是一个 GitHub CLI 扩展,用于生成并校验 GitHub Actions 的依赖锁文件。它会解析工作流中直接和间接引用的所有 Action,将每个 Action 实际对应的提交写入 .github/workflows/actions.lock,使标签或分支的移动无法悄悄改变 CI 的执行内容。
gh-actions-lock 可以免费使用吗?用的什么许可证?
gh-actions-lock 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
gh-actions-lock 还在维护吗?
活跃维护中。gh-actions-lock 最近一次提交是在 2026年11月6日。
gh-actions-lock 适合用来做什么?
在仓库中锁定 Action 版本,使 CI 运行的是经过审查的提交。 在 Pull Request 检查中加入锁文件校验步骤。 在提交工作流改动前运行离线覆盖率检查。
gh-actions-lock 怎么安装和运行?
安装 GitHub CLI 扩展: gh extension install github/gh-actions-lock 在仓库检出目录中固定所有 action 并生成锁文件: gh actions-lock 暂存工作流目录,使锁文件纳入源码管理: git add .github/workflows/
在哪里获取 gh-actions-lock?
源代码和安装说明在 GitHub 上:https://github.com/github/gh-actions-lock

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目