← [ BACK_TO_NOTES ]

actionlint

GitHub Actions 工作流静态检查器,检查结构、表达式及受支持的脚本和 action 参数。

#ops #resource #evergreen #tool #cli #github

actionlint

actionlint 是用 Go 编写的 GitHub Actions 工作流静态检查器。它检查 YAML 结构和 Actions 语义,不运行 job,也不证明工作流实际构建或部署成功。

检查范围

  • 工作流字段、job 依赖及常见结构错误。
  • ${{ }} 表达式的上下文、属性与类型,例如将 secrets 写成 secrest。
  • 支持的本地 action 元数据,以及内置知识覆盖的常见远端 action 输入。不能保证校验所有第三方 action、所有版本和所有必填参数。
  • 可调用 ShellCheck 检查受支持 shell 的 run: 脚本,也可集成其他脚本检查器。没有安装对应工具时,相应检查能力受限;这不等于 YAML 检查失效。

静态检查不能确认某个 secret 真的存在、token 拥有什么权限、服务能否访问,或自托管 runner 是否安装了依赖。

安装与使用

例如使用 Scoop 或 Go 工具链安装:

scoop install actionlint
go install github.com/rhysd/actionlint/cmd/actionlint@latest

二选一即可。自动化环境宜固定已验证版本,避免工具升级造成未预期的规则变化。

在 Git 仓库中运行:

actionlint -version
actionlint
actionlint .github/workflows/ci.yml

无文件参数时检查仓库内的工作流;指定文件时路径必须存在。结果无诊断且成功退出,表示通过本次静态检查,不表示 workflow 已执行。需要 ShellCheck 联动时另行安装 shellcheck 并确保可从 PATH 找到。

与 act 配合

act 用于本地执行部分工作流逻辑,actionlint 用于静态检查。两者互补,但都不能完整复现 GitHub 托管环境与仓库权限。

[!info] related notes

来源

创建于 2026/3/12 更新于 2026/10/6
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本