Skip to content

Commit ad84218

Browse files
committed
fix(ci): switch codeql cpp build to manual
1 parent 2eaf71d commit ad84218

2 files changed

Lines changed: 48 additions & 64 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 47 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
# For most projects, this workflow file will not need changing; you simply need
2-
# to commit it to your repository.
3-
#
4-
# You may wish to alter this file to override the set of languages analyzed,
5-
# or to provide custom queries or build logic.
6-
#
7-
# ******** NOTE ********
8-
# We have attempted to detect the languages in your repository. Please check
9-
# the `language` matrix defined below to confirm you have the correct set of
10-
# supported CodeQL languages.
11-
#
121
name: "CodeQL"
132

143
on:
@@ -22,71 +11,66 @@ on:
2211
jobs:
2312
analyze:
2413
name: Analyze (${{ matrix.language }})
25-
# Runner size impacts CodeQL analysis time. To learn more, please see:
26-
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27-
# - https://gh.io/supported-runners-and-hardware-resources
28-
# - https://gh.io/using-larger-runners (GitHub.com only)
29-
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30-
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31-
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
14+
runs-on: ubuntu-24.04
15+
timeout-minutes: 15
3216
permissions:
3317
# required for all workflows
3418
security-events: write
35-
3619
# required to fetch internal or private CodeQL packs
3720
packages: read
3821

39-
# only required for workflows in private repositories
40-
actions: read
41-
contents: read
42-
4322
strategy:
4423
fail-fast: false
4524
matrix:
4625
include:
47-
- language: c-cpp
48-
build-mode: autobuild
49-
- language: python
50-
build-mode: none
51-
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
52-
# Use `c-cpp` to analyze code written in C, C++ or both
53-
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
54-
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
55-
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
56-
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
57-
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
58-
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
26+
- language: c-cpp
27+
build-mode: manual
28+
- language: python
29+
build-mode: none
5930
steps:
60-
- name: Checkout repository
61-
uses: actions/checkout@v4
62-
with:
31+
- name: Checkout repository
32+
uses: actions/checkout@v4
33+
with:
6334
submodules: recursive
6435

65-
# Initializes the CodeQL tools for scanning.
66-
- name: Initialize CodeQL
67-
uses: github/codeql-action/init@v3
68-
with:
69-
languages: ${{ matrix.language }}
70-
build-mode: ${{ matrix.build-mode }}
71-
# If you wish to specify custom queries, you can do so here or in a config file.
72-
# By default, queries listed here will override any specified in a config file.
73-
# Prefix the list here with "+" to use these queries and those in the config file.
36+
# Initializes the CodeQL tools for scanning.
37+
- name: Initialize CodeQL
38+
uses: github/codeql-action/init@v3
39+
with:
40+
languages: ${{ matrix.language }}
41+
build-mode: ${{ matrix.build-mode }}
42+
# If you wish to specify custom queries, you can do so here or in a config file.
43+
# By default, queries listed here will override any specified in a config file.
44+
# Prefix the list here with "+" to use these queries and those in the config file.
45+
46+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
47+
# queries: security-extended,security-and-quality
7448

75-
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
76-
# queries: security-extended,security-and-quality
49+
- name: Update LLVM compilers
50+
if: matrix.build-mode == 'manual'
51+
shell: bash
52+
run: |
53+
compiler_version=16
54+
sudo apt-get install -y clang-${compiler_version} lld-${compiler_version} \
55+
libc++-${compiler_version}-dev libc++abi-${compiler_version}-dev \
56+
clang-tools-${compiler_version} llvm-${compiler_version}
7757
78-
# ℹ️ Command-line programs to run using the OS shell.
79-
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
80-
- if: matrix.build-mode == 'manual'
81-
shell: bash
82-
run: |
83-
cmake -Bbuild \
84-
-DCMAKE_BUILD_TYPE=Release \
85-
-DARK_SANITIZERS=On \
86-
-DARK_BUILD_EXE=On -DARK_BUILD_MODULES=Off -DARK_TESTS=On
87-
cmake --build build --config Release -j $(nproc)
58+
# ℹ️ Command-line programs to run using the OS shell.
59+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
60+
- if: matrix.build-mode == 'manual'
61+
shell: bash
62+
run: |
63+
cmake -Bbuild \
64+
-DCMAKE_BUILD_TYPE=Release \
65+
-DCMAKE_C_COMPILER=clang-16 \
66+
-DCMAKE_CXX_COMPILER=clang++-16 \
67+
-DARK_SANITIZERS=On \
68+
-DARK_BUILD_EXE=On \
69+
-DARK_BUILD_MODULES=Off \
70+
-DARK_TESTS=On
71+
cmake --build build --config Release -j $(nproc)
8872
89-
- name: Perform CodeQL Analysis
90-
uses: github/codeql-action/analyze@v3
91-
with:
92-
category: "/language:${{matrix.language}}"
73+
- name: Perform CodeQL Analysis
74+
uses: github/codeql-action/analyze@v3
75+
with:
76+
category: "/language:${{matrix.language}}"

.github/workflows/setup-compilers/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ runs:
117117
cmake -Bbuild \
118118
-G "Visual Studio 17 2022" -T v143 \
119119
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
120-
-DARK_SANITIZERS=${{ matrix.config.sanitizers }} \
120+
-DARK_SANITIZERS=${{ inputs.sanitizers }} \
121121
-DARK_COVERAGE=${{ inputs.coverage }} \
122122
-DARK_BUILD_EXE=On \
123123
-DARK_BUILD_MODULES=$ToggleModules -DARK_MOD_ALL=$ToggleModules -DARK_MOD_DRAFT=$ToggleModules \

0 commit comments

Comments
 (0)