Skip to main content

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

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

Note

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

如果使用的是高级设置,且工作流未显式指定要分析的语言,则 CodeQL 会隐式检测代码库中支持的语言。 在此配置中,对于编译语言 C/C++、C#、Go、Java、Kotlin 和 Swift,CodeQL 只分析源文件最多的语言。 编辑工作流并添加一个矩阵,以指定要分析的语言。 默认的 CodeQL 分析工作流将使用此类矩阵。

以下工作流程摘录显示了如何在作业策略中使用矩阵来指定语言,然后在“初始化 CodeQL”步骤中引用每种语言:

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

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

有关编辑工作流的详细信息,请参阅“自定义代码扫描的高级设置”。