Skip to content

Commit 0f7d8ee

Browse files
committed
Merge branch 'tools/add_idf_v6.0_to_ci' into 'master'
tools(ci): Add IDF release-v6.0 image to CI See merge request espressif/esp-video-components!357
2 parents 10fb339 + c1bad71 commit 0f7d8ee

File tree

4 files changed

+82
-16
lines changed

4 files changed

+82
-16
lines changed

.gitlab/ci/build.yml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
- export EXTRA_CXXFLAGS="${PEDANTIC_FLAGS}"
4141
- python tools/ci/build_apps.py --targets $IDF_TARGETS
4242

43-
build_test_esp32p4:
43+
build_test_esp32p4_idf_v5.x:
4444
extends:
4545
- .build_examples_template
4646
- .rules:build:test_apps
@@ -51,19 +51,30 @@ build_test_esp32p4:
5151
matrix:
5252
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5]
5353

54+
build_test_esp32p4_idf_v6.x:
55+
extends:
56+
- .build_examples_template
57+
- .rules:build:test_apps
58+
variables:
59+
IDF_TARGETS: "esp32p4"
60+
IDF_BUILD_APPS_VERSION: "2.13.3"
61+
parallel:
62+
matrix:
63+
- IMAGE: [espressif/idf:release-v6.0]
64+
5465
build_test_esp32p4_idf_latest:
5566
extends:
5667
- .build_examples_template
5768
- .rules:build:test_apps
5869
- .rules:build:idf_latest
5970
variables:
6071
IDF_TARGETS: "esp32p4"
61-
IDF_BUILD_APPS_VERSION: "2.13.1"
72+
IDF_BUILD_APPS_VERSION: "2.13.3"
6273
parallel:
6374
matrix:
6475
- IMAGE: [espressif/idf:latest]
6576

66-
build_test_s3_c3_c6:
77+
build_test_s3_c3_c6_idf_v5.x:
6778
extends:
6879
- .build_examples_template
6980
- .rules:build:test_apps
@@ -74,19 +85,30 @@ build_test_s3_c3_c6:
7485
matrix:
7586
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5]
7687

88+
build_test_s3_c3_c6_idf_v6.x:
89+
extends:
90+
- .build_examples_template
91+
- .rules:build:test_apps
92+
variables:
93+
IDF_TARGETS: "esp32s3;esp32c3;esp32c6"
94+
IDF_BUILD_APPS_VERSION: "2.13.3"
95+
parallel:
96+
matrix:
97+
- IMAGE: [espressif/idf:release-v6.0]
98+
7799
build_test_s3_c3_c6_idf_latest:
78100
extends:
79101
- .build_examples_template
80102
- .rules:build:test_apps
81103
- .rules:build:idf_latest
82104
variables:
83105
IDF_TARGETS: "esp32s3;esp32c3;esp32c6"
84-
IDF_BUILD_APPS_VERSION: "2.13.1"
106+
IDF_BUILD_APPS_VERSION: "2.13.3"
85107
parallel:
86108
matrix:
87109
- IMAGE: [espressif/idf:latest]
88110

89-
build_test_c5_c61:
111+
build_test_c5_c61_idf_v5.x:
90112
extends:
91113
- .build_examples_template
92114
- .rules:build:test_apps
@@ -97,14 +119,25 @@ build_test_c5_c61:
97119
matrix:
98120
- IMAGE: [espressif/idf:release-v5.5]
99121

122+
build_test_c5_c61_idf_v6.x:
123+
extends:
124+
- .build_examples_template
125+
- .rules:build:test_apps
126+
variables:
127+
IDF_TARGETS: "esp32c5;esp32c61"
128+
IDF_BUILD_APPS_VERSION: "2.13.3"
129+
parallel:
130+
matrix:
131+
- IMAGE: [espressif/idf:release-v6.0]
132+
100133
build_test_c5_c61_idf_latest:
101134
extends:
102135
- .build_examples_template
103136
- .rules:build:test_apps
104137
- .rules:build:idf_latest
105138
variables:
106139
IDF_TARGETS: "esp32c5;esp32c61"
107-
IDF_BUILD_APPS_VERSION: "2.13.1"
140+
IDF_BUILD_APPS_VERSION: "2.13.3"
108141
parallel:
109142
matrix:
110143
- IMAGE: [espressif/idf:latest]

esp_ipa/test_apps/.build-test-rules.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
test_apps/dummy:
1+
esp_ipa/test_apps/dummy:
22
enable:
33
- if: IDF_TARGET == "esp32p4"
44
reason: only support on esp32p4

esp_video/examples/simple_video_server/main/idf_component.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ dependencies:
99
espressif/mdns: "^1.0.3"
1010
esp_wifi_remote:
1111
version: "*"
12+
espressif/cjson:
13+
version: "^1.7.15"
14+
rules:
15+
- if: "idf_version >= 6.0"

tools/ci/build_apps.py

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,35 @@
1717
DEFAULT_IGNORE_WARNING_FILEPATH = [os.path.join('tools', 'ci', 'ignore_build_warnings.txt')]
1818
PREVIEW_TARGETS = []
1919

20+
CI_BUILD_ALL_FILES = ['esp_cam_sensor/CMakeLists.txt', 'esp_ipa/CMakeLists.txt', 'esp_video/CMakeLists.txt', 'esp_sccb_intf/CMakeLists.txt']
21+
2022
logger = logging.getLogger('idf_build_apps')
2123

2224
def get_mr_files(modified_files: str) -> str:
2325
if modified_files is None:
2426
return ''
25-
return modified_files.split(' ')
27+
modified_files = modified_files.split(' ')
28+
29+
# If change to CI related files, we need to build all components
30+
for f in modified_files:
31+
if '.gitlab/ci/' in f:
32+
modified_files = CI_BUILD_ALL_FILES
33+
break
34+
35+
return modified_files
2636

2737
def get_mr_components(modified_files: str) -> str:
2838
if modified_files is None:
2939
return ''
3040
components: t.Set[str] = set()
3141
modified_files = modified_files.split(' ')
42+
43+
# If change to CI related files, we need to build all components
44+
for f in modified_files:
45+
if '.gitlab/ci/' in f:
46+
modified_files = CI_BUILD_ALL_FILES
47+
break
48+
3249
for f in modified_files:
3350
file = Path(f)
3451
if (
@@ -69,6 +86,7 @@ def find_all_apps(root: str, manifest_files: list[str], modified_components: lis
6986
modified_components=modified_components,
7087
modified_files=modified_files,
7188
manifest_files=manifest_files,
89+
verbose=1,
7290
)
7391

7492
match_apps = []
@@ -111,14 +129,25 @@ def find_all_apps(root: str, manifest_files: list[str], modified_components: lis
111129
for f in DEFAULT_IGNORE_WARNING_FILEPATH:
112130
ignore_warning_strs.extend(open(f).read().splitlines())
113131

114-
ret_code = build_apps(
115-
apps_to_build,
116-
collect_size_info='size_info.txt',
117-
dry_run=False,
118-
keep_going=True,
119-
ignore_warning_strs=ignore_warning_strs,
120-
copy_sdkconfig=True
121-
)
132+
if idf_build_apps_version == '1.1.4':
133+
ret_code = build_apps(
134+
apps_to_build,
135+
collect_size_info='size_info.txt',
136+
dry_run=False,
137+
keep_going=True,
138+
ignore_warning_strs=ignore_warning_strs,
139+
copy_sdkconfig=True,
140+
)
141+
else:
142+
ret_code = build_apps(
143+
apps_to_build,
144+
collect_size_info='size_info.txt',
145+
dry_run=False,
146+
keep_going=True,
147+
ignore_warning_strs=ignore_warning_strs,
148+
copy_sdkconfig=True,
149+
verbose=1,
150+
)
122151

123152
sys.exit(ret_code)
124153

0 commit comments

Comments
 (0)