Skip to main content

某些语言未使用 CodeQL 高级设置进行分析

如果未分析某些语言,可以修改 code scanning 工作流以添加一个矩阵,指定要分析的语言。

注意

本文介绍了此版本CodeQL的初始发行版中随 CodeQL CLI 操作的该版本及相关 GitHub Enterprise Server 捆绑包提供的功能。 如果企业使用较新版本的操作 CodeQL ,请参阅 GitHub Enterprise Cloud 本文的版本 ,了解有关最新功能的信息。 有关使用最新版本的信息,请参阅“为设备配置代码扫描”。

如果使用高级设置,并且工作流未显式指定要分析的语言,则 CodeQL 隐式检测代码库中支持的语言。 在此配置中,从编译的语言 C/C++、C#、Go、Java、Kotlin、Rust(公共预览版)、和 Swift中, CodeQL 只分析包含大多数源文件的语言。 编辑工作流并添加一个矩阵,以指定要分析的语言。 默认 CodeQL 分析工作流使用此类矩阵。

以下工作流中提取的内容演示如何在作业策略中使用矩阵来指定语言,然后在“初始化 CodeQL”步骤中引用每种语言:

jobs:
  analyze:
    permissions:
      security-events: write
      actions: read
    # ...
    strategy:
      fail-fast: false
      matrix:
        language: ['csharp', 'c-cpp', 'javascript-typescript']

    steps:
    # ...
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v4
        with:
          languages: ${{ matrix.language }}

有关编辑工作流的详细信息,请参阅 代码扫描的工作流配置选项