25
25
pull_request :
26
26
paths :
27
27
- " cores/**"
28
- - " libraries/**"
29
- - " ! libraries/**.md "
30
- - " ! libraries/**.txt "
31
- - " ! libraries/**.properties "
32
- - " ! libraries/**.py "
28
+ - " libraries/**/*.cpp "
29
+ - " libraries/**/*.c "
30
+ - " libraries/**/*.h "
31
+ - " libraries/**/*.ino "
32
+ - " libraries/**/ci.json "
33
33
- " package/**"
34
- - " idf_component_examples/**"
35
- - " tools/**.py"
34
+ - " tools/get.*"
36
35
- " platform.txt"
37
36
- " programmers.txt"
38
- - " idf_component.yml"
39
- - " Kconfig.projbuild"
40
37
- " package.json"
41
- - " CMakeLists.txt"
42
38
- " .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/esp32c5/**/*"
51
- - " variants/esp32c6/**/*"
52
- - " variants/esp32h2/**/*"
53
- - " variants/esp32p4/**/*"
54
- - " variants/esp32s2/**/*"
55
- - " variants/esp32s3/**/*"
39
+ - " .github/scripts/install-*"
40
+ - " .github/scripts/on-push.sh"
41
+ - " .github/scripts/set_push_chunks.sh"
42
+ - " .github/scripts/sketch_utils.sh"
43
+ - " variants/esp32/**"
44
+ - " variants/esp32c3/**"
45
+ - " variants/esp32c5/**"
46
+ - " variants/esp32c6/**"
47
+ - " variants/esp32h2/**"
48
+ - " variants/esp32p4/**"
49
+ - " variants/esp32s2/**"
50
+ - " variants/esp32s3/**"
51
+ - " !*.md"
52
+ - " !*.txt"
53
+ - " !*.properties"
56
54
57
55
concurrency :
58
56
group : build-${{github.event.pull_request.number || github.ref}}
62
60
MAX_CHUNKS : 15
63
61
64
62
jobs :
65
- cmake-check :
66
- name : Check cmake file
67
- runs-on : ubuntu-latest
68
- if : ${{ !(github.event_name == 'pull_request' && startsWith(github.head_ref, 'release/')) }}
69
- steps :
70
- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
71
- - run : bash ./.github/scripts/check-cmakelists.sh
72
-
73
63
gen-chunks :
74
64
name : Generate chunks
75
65
runs-on : ubuntu-latest
78
68
build_all : ${{ steps.set-chunks.outputs.build_all }}
79
69
build_libraries : ${{ steps.set-chunks.outputs.build_libraries }}
80
70
build_static_sketches : ${{ steps.set-chunks.outputs.build_static_sketches }}
81
- build_idf : ${{ steps.set-chunks.outputs.build_idf }}
82
71
chunk_count : ${{ steps.set-chunks.outputs.chunk_count }}
83
72
chunks : ${{ steps.set-chunks.outputs.chunks }}
84
73
steps :
99
88
- 'tools/**'
100
89
- 'platform.txt'
101
90
- 'programmers.txt'
102
- - "variants/esp32/**/*"
103
- - "variants/esp32c3/**/*"
104
- - "variants/esp32c6/**/*"
105
- - "variants/esp32h2/**/*"
106
- - "variants/esp32p4/**/*"
107
- - "variants/esp32s2/**/*"
108
- - "variants/esp32s3/**/*"
91
+ - "variants/**"
109
92
libraries:
110
93
- 'libraries/**/examples/**'
111
94
- 'libraries/**/src/**'
@@ -121,19 +104,13 @@ jobs:
121
104
- 'libraries/NetworkClientSecure/src/**'
122
105
- 'libraries/BLE/src/**'
123
106
- 'libraries/Insights/src/**'
124
- idf:
125
- - 'idf_component.yml'
126
- - 'Kconfig.projbuild'
127
- - 'CMakeLists.txt'
128
- - "idf_component_examples/**"
129
107
130
108
- name : Set chunks
131
109
id : set-chunks
132
110
env :
133
111
LIB_FILES : ${{ steps.changed-files.outputs.libraries_all_changed_files }}
134
112
IS_PR : ${{ github.event_name == 'pull_request' }}
135
113
MAX_CHUNKS : ${{ env.MAX_CHUNKS }}
136
- BUILD_IDF : ${{ steps.changed-files.outputs.idf_any_changed == 'true' }}
137
114
BUILD_LIBRARIES : ${{ steps.changed-files.outputs.libraries_any_changed == 'true' }}
138
115
BUILD_STATIC_SKETCHES : ${{ steps.changed-files.outputs.static_sketeches_any_changed == 'true' }}
139
116
FS_CHANGED : ${{ steps.changed-files.outputs.fs_any_changed == 'true' }}
@@ -233,59 +210,6 @@ jobs:
233
210
- name : Build Sketches
234
211
run : bash ./.github/scripts/on-push.sh
235
212
236
- build-esp-idf-component :
237
- name : Build with ESP-IDF ${{ matrix.idf_ver }} for ${{ matrix.idf_target }}
238
- needs : gen-chunks
239
- if : |
240
- needs.gen-chunks.outputs.build_all == 'true' ||
241
- needs.gen-chunks.outputs.build_libraries == 'true' ||
242
- needs.gen-chunks.outputs.build_idf == 'true'
243
- runs-on : ubuntu-latest
244
- strategy :
245
- fail-fast : false
246
- matrix :
247
- # The version names here correspond to the versions of espressif/idf Docker image.
248
- # See https://hub.docker.com/r/espressif/idf/tags and
249
- # https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html
250
- # for details.
251
- idf_ver : ["release-v5.3","release-v5.4","release-v5.5"]
252
- idf_target :
253
- [
254
- " esp32" ,
255
- " esp32s2" ,
256
- " esp32s3" ,
257
- " esp32c2" ,
258
- " esp32c3" ,
259
- " esp32c6" ,
260
- " esp32h2" ,
261
- " esp32p4"
262
- ]
263
- container : espressif/idf:${{ matrix.idf_ver }}
264
- steps :
265
- - name : Check out arduino-esp32 as a component
266
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
267
- with :
268
- submodules : recursive
269
- path : components/arduino-esp32
270
-
271
- - name : Setup jq
272
- uses : dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1
273
-
274
- - name : Build
275
- env :
276
- IDF_TARGET : ${{ matrix.idf_target }}
277
- shell : bash
278
- run : |
279
- chmod a+x ./components/arduino-esp32/.github/scripts/*
280
- ./components/arduino-esp32/.github/scripts/on-push-idf.sh
281
-
282
- - name : Upload generated sdkconfig files for debugging
283
- uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
284
- if : always()
285
- with :
286
- name : sdkconfig-${{ matrix.idf_ver }}-${{ matrix.idf_target }}
287
- path : ./components/arduino-esp32/idf_component_examples/**/sdkconfig
288
-
289
213
# Save artifacts to gh-pages
290
214
save-master-artifacts :
291
215
name : Save master artifacts
0 commit comments