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

如何解决GitHub Actions Windows Runner工作目录修改无效问题?

问题原因与解决方案

为什么你的设置不生效?

  1. GITHUB_WORKSPACE是只读预定义变量:GitHub Actions会自动初始化这个变量,指向代码仓库的默认检出路径,用户无法通过env字段覆盖它,所以你设置的GITHUB_WORKSPACE: C:\a\不会生效,输出的还是系统默认路径。
  2. defaults.run.working-directory仅影响普通run步骤:这个配置只是让你自定义的run命令在指定目录执行,但CodeQL Action内部逻辑依赖github.workspace预定义变量,不会读取该配置来定位代码或生成数据库。

正确的解决方法

要让CodeQL使用C盘空间,需将代码检出到C盘目录,并让CodeQL在该路径下工作,具体配置如下:

1. 把代码检出到C盘指定路径

使用actions/checkout的path参数,将代码直接拉取到C盘目标目录:

- uses: actions/checkout@v4
  with:
    path: C:\a\your-project # 替换为你需要的C盘路径

2. 配置CodeQL使用C盘目录

在CodeQL初始化和分析步骤中,指定数据库存储目录到C盘,或直接指定工作目录:

jobs:
  analyze:
    name: Analyze
    runs-on: windows-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    steps:
    - uses: actions/checkout@v4
      with:
        path: C:\a\your-project

    # 初始化CodeQL时指定数据库存储到C盘
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: 'java' # 替换为你的项目语言,如csharp、javascript等
        database-dir: C:\a\codeql-databases # 数据库将存放在C盘该目录

    # 项目构建步骤(按需添加,需切换到C盘的代码目录)
    - name: Build project
      working-directory: C:\a\your-project
      run: |
        # 写入你的构建命令,如msbuild、mvn等

    # 执行CodeQL分析,指定数据库目录
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3
      with:
        database-dir: C:\a\codeql-databases

额外说明

如果你的项目无需构建步骤,也可在CodeQL初始化时通过working-directory参数指定代码所在的C盘路径:

- name: Initialize CodeQL
  uses: github/codeql-action/init@v3
  with:
    languages: 'javascript'
    working-directory: C:\a\your-project

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 05:37:02