Skip to main content

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

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

注意:本文介绍了此版 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 }}

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