Skip to content

Commit a316104

Browse files
committed
ci(codeql): Add CodeQL Analysis
1 parent 1f0d4b5 commit a316104

File tree

1 file changed

+47
-25
lines changed

1 file changed

+47
-25
lines changed

.github/workflows/push.yml

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ on:
1515
- "info"
1616
- "debug"
1717
- "verbose"
18+
run_codeql:
19+
description: "Enable CodeQL Analysis"
20+
default: false
21+
type: "boolean"
22+
required: true
1823
schedule:
1924
# Every Sunday at 2:00 UTC run a build with verbose log level
2025
- cron: "0 2 * * SUN"
@@ -25,33 +30,39 @@ on:
2530
pull_request:
2631
paths:
2732
- "cores/**"
28-
- "libraries/**"
29-
- "!libraries/**.md"
30-
- "!libraries/**.txt"
31-
- "!libraries/**.properties"
32-
- "!libraries/**.py"
33+
- "libraries/**/*.cpp"
34+
- "libraries/**/*.c"
35+
- "libraries/**/*.h"
36+
- "libraries/**/*.hpp"
37+
- "libraries/**/*.ino"
38+
- "libraries/**/ci.json"
3339
- "package/**"
3440
- "idf_component_examples/**"
35-
- "tools/**.py"
41+
- "tools/get.*"
3642
- "platform.txt"
3743
- "programmers.txt"
3844
- "idf_component.yml"
3945
- "Kconfig.projbuild"
4046
- "package.json"
4147
- "CMakeLists.txt"
4248
- ".github/workflows/push.yml"
43-
- ".github/scripts/**"
44-
- "!.github/scripts/find_*"
45-
- "!.github/scripts/on-release.sh"
46-
- "!.github/scripts/tests_*"
47-
- "!.github/scripts/upload_*"
48-
- "variants/esp32/**/*"
49-
- "variants/esp32c3/**/*"
50-
- "variants/esp32c6/**/*"
51-
- "variants/esp32h2/**/*"
52-
- "variants/esp32p4/**/*"
53-
- "variants/esp32s2/**/*"
54-
- "variants/esp32s3/**/*"
49+
- ".github/scripts/check-cmakelists.sh"
50+
- ".github/scripts/install-*"
51+
- ".github/scripts/on-push-idf.sh"
52+
- ".github/scripts/on-push.sh"
53+
- ".github/scripts/set_push_chunks.sh"
54+
- ".github/scripts/sketch_utils.sh"
55+
- "variants/esp32/**"
56+
- "variants/esp32c2/**"
57+
- "variants/esp32c3/**"
58+
- "variants/esp32c6/**"
59+
- "variants/esp32h2/**"
60+
- "variants/esp32p4/**"
61+
- "variants/esp32s2/**"
62+
- "variants/esp32s3/**"
63+
- "!*.md"
64+
- "!*.txt"
65+
- "!*.properties"
5566

5667
concurrency:
5768
group: build-${{github.event.pull_request.number || github.ref}}
@@ -93,18 +104,14 @@ jobs:
93104
files_yaml: |
94105
core:
95106
- '.github/**'
107+
- '!.github/scripts/on-push-idf.sh'
96108
- 'cores/**'
97109
- 'package/**'
98110
- 'tools/**'
99111
- 'platform.txt'
100112
- 'programmers.txt'
101-
- "variants/esp32/**/*"
102-
- "variants/esp32c3/**/*"
103-
- "variants/esp32c6/**/*"
104-
- "variants/esp32h2/**/*"
105-
- "variants/esp32p4/**/*"
106-
- "variants/esp32s2/**/*"
107-
- "variants/esp32s3/**/*"
113+
- "variants/**"
114+
- "!variants/esp32c2/**"
108115
libraries:
109116
- 'libraries/**/examples/**'
110117
- 'libraries/**/src/**'
@@ -121,10 +128,12 @@ jobs:
121128
- 'libraries/BLE/src/**'
122129
- 'libraries/Insights/src/**'
123130
idf:
131+
- '.github/scripts/on-push-idf.sh'
124132
- 'idf_component.yml'
125133
- 'Kconfig.projbuild'
126134
- 'CMakeLists.txt'
127135
- "idf_component_examples/**"
136+
- "variants/esp32c2/**"
128137
129138
- name: Set chunks
130139
id: set-chunks
@@ -168,6 +177,13 @@ jobs:
168177
with:
169178
python-version: "3.x"
170179

180+
- name: Initialize CodeQL
181+
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
182+
if: ${{ github.event_name == 'schedule' || inputs.run_codeql == 'true' }}
183+
with:
184+
languages: cpp
185+
build-mode: manual
186+
171187
- name: Get libs cache
172188
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
173189
with:
@@ -213,6 +229,12 @@ jobs:
213229
path: cli_compile_${{ matrix.chunk }}.json
214230
overwrite: true
215231

232+
- name: Run CodeQL Analysis
233+
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
234+
if: ${{ github.event_name == 'schedule' || inputs.run_codeql == 'true' }}
235+
with:
236+
check_name: "CodeQL Chunk ${{ matrix.chunk }}"
237+
216238
# Windows and MacOS
217239
build-arduino-win-mac:
218240
name: Arduino on ${{ matrix.os }}

0 commit comments

Comments
 (0)