SuperAPI AI 工具集

actionlint

办公与效率

查看项目

更新于 10-15 21:52

技能介绍

用途:actionlint 是面向 GitHub Actions 工作流文件的静态分析(lint)工具。资料建议在生成或修改工作流后始终运行它,并在完成前解决所有发现的问题。

主要能力:检查工作流 YAML 中的多种问题,输出格式为 path/to/workflow.yml:LINE:COL: ERROR MESSAGE [rule-name],并附带指向问题行的代码片段。常见规则包括:pin-actions(action 未固定到 commit SHA)、shellcheck(run: 步骤中的 shell 脚本问题)、action(未知或格式错误的 uses: 引用)、expression(无效的 ${{ }} 语法)、events(无效触发器或事件过滤)、permissions(无效权限范围或取值)、job-needs(needs: 引用了不存在的 job)、credentials(username/password 未成对提供)、deprecated(已弃用的上下文或语法)。

安装:Linux 使用固定版本并校验 checksum 的方式下载安装,示例版本为 1.7.11,命令包括 curl 下载 tar.gz 与 checksums.txt、sha256sum --check --ignore-missing、tar 解压到 /tmp、sudo install -m 755 到 /usr/local/bin/actionlint;macOS 使用 brew install actionlint。安装后可用 actionlint --version 验证。

使用方式:actionlint .github/workflows/*.yml 检查全部工作流,或指定单个文件如 actionlint .github/workflows/ci.yml;可用 2>&1 | tee /tmp/actionlint-output.txt 捕获输出。零输出表示无错误,任何输出都需解决。修复时先处理解析错误等上游问题,再处理逻辑错误,每批修复后重新运行,直至干净。

限制与注意:若 pin-actions 探测报告 NETWORK_UNAVAILABLE,应停止并告知用户哪些 action 需要固定,而不是编造 SHA 或提交未固定的引用。shellcheck 相关警告需先安装 shellcheck(apt-get install shellcheck 或 brew install shellcheck)。若提示 command not found 需重新安装或检查 PATH;若提示 no workflow files are found 需确认 .github/workflows/*.yml 文件存在。资料未提供其他平台安装方式、版本更新策略或与 CI 集成的细节。