15
15
- " info"
16
16
- " debug"
17
17
- " verbose"
18
+ run_codeql :
19
+ description : " Enable CodeQL Analysis"
20
+ default : false
21
+ type : " boolean"
22
+ required : true
18
23
schedule :
19
24
# Every Sunday at 2:00 UTC run a build with verbose log level
20
25
- cron : " 0 2 * * SUN"
25
30
pull_request :
26
31
paths :
27
32
- " 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"
33
39
- " package/**"
34
40
- " idf_component_examples/**"
35
- - " tools/**.py "
41
+ - " tools/get.* "
36
42
- " platform.txt"
37
43
- " programmers.txt"
38
44
- " idf_component.yml"
39
45
- " Kconfig.projbuild"
40
46
- " package.json"
41
47
- " CMakeLists.txt"
42
48
- " .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"
55
66
56
67
concurrency :
57
68
group : build-${{github.event.pull_request.number || github.ref}}
@@ -93,18 +104,14 @@ jobs:
93
104
files_yaml : |
94
105
core:
95
106
- '.github/**'
107
+ - '!.github/scripts/on-push-idf.sh'
96
108
- 'cores/**'
97
109
- 'package/**'
98
110
- 'tools/**'
99
111
- 'platform.txt'
100
112
- '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/**"
108
115
libraries:
109
116
- 'libraries/**/examples/**'
110
117
- 'libraries/**/src/**'
@@ -121,10 +128,12 @@ jobs:
121
128
- 'libraries/BLE/src/**'
122
129
- 'libraries/Insights/src/**'
123
130
idf:
131
+ - '.github/scripts/on-push-idf.sh'
124
132
- 'idf_component.yml'
125
133
- 'Kconfig.projbuild'
126
134
- 'CMakeLists.txt'
127
135
- "idf_component_examples/**"
136
+ - "variants/esp32c2/**"
128
137
129
138
- name : Set chunks
130
139
id : set-chunks
@@ -168,6 +177,13 @@ jobs:
168
177
with :
169
178
python-version : " 3.x"
170
179
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
+
171
187
- name : Get libs cache
172
188
uses : actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
173
189
with :
@@ -213,6 +229,12 @@ jobs:
213
229
path : cli_compile_${{ matrix.chunk }}.json
214
230
overwrite : true
215
231
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
+
216
238
# Windows and MacOS
217
239
build-arduino-win-mac :
218
240
name : Arduino on ${{ matrix.os }}
0 commit comments