You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何指定GitHub Actions中CodeQL Action使用缓存的特定CLI版本?

指定CodeQL Action使用缓存的CLI版本方法

问题原因

github/codeql-action/init@v2 默认会使用与Action版本绑定的最新CodeQL CLI版本(如日志中的2.16.3),不会自动识别缓存的旧版本,必须显式指定要使用的CLI版本。

解决方案

在CodeQL init步骤中添加tools参数,明确指定要使用的CodeQL CLI版本,让Action优先读取缓存的版本:

修改后的CodeQL init配置:

- name: 'CodeQL init'
  uses: github/codeql-action/init@v2
  with:
    ram: 5120
    queries: security-extended
    tools: |
      codeql-cli:2.13.5

关键说明

  1. 参数作用:tools参数用于强制指定CodeQL工具版本,格式为codeql-cli:<具体版本号>。添加后,Action会直接在tool-cache中查找匹配的2.13.5版本,不再尝试拉取默认的最新版。
  2. 缓存路径验证:从你的调试日志可以看到,缓存的2.13.5版本已经存在于tool-cache中,指定版本后Action会自动命中该缓存,无需调整现有的tool-cache拉取逻辑。
  3. 环境变量补充:你当前的tool-cache代码中已经通过core.addPath(cachedPath)添加了可执行文件路径,配合tools参数可以确保Action正确调用缓存的CLI。

效果验证

添加参数后,调试日志会显示Action直接查找指定的2.13.5版本,命中缓存后跳过下载步骤,避免出现HttpError: Not Found的报错。

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 04:15:06