Skip to content

Commit cac2070

Browse files
committed
Merge branch 'tools/add_env_var_to_build_idf_lastest' into 'master'
tools(ci): Add an environment variable to enable building for the esp-idf latest image See merge request espressif/esp-video-components!334
2 parents bce769b + bff1b3f commit cac2070

File tree

3 files changed

+84
-19
lines changed

3 files changed

+84
-19
lines changed

.gitlab/ci/build.yml

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
script:
3535
- echo "MODIFIED_FILES $MODIFIED_FILES"
3636
- pip install --upgrade idf-component-manager
37-
- pip install idf_build_apps==1.1.4
37+
- pip install idf_build_apps==$IDF_BUILD_APPS_VERSION
3838
- export PEDANTIC_FLAGS="-DIDF_CI_BUILD -Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function"
3939
- export EXTRA_CFLAGS="${PEDANTIC_FLAGS} -Wstrict-prototypes"
4040
- export EXTRA_CXXFLAGS="${PEDANTIC_FLAGS}"
@@ -46,26 +46,65 @@ build_test_esp32p4:
4646
- .rules:build:test_apps
4747
variables:
4848
IDF_TARGETS: "esp32p4"
49+
IDF_BUILD_APPS_VERSION: "1.1.4"
4950
parallel:
5051
matrix:
51-
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5, espressif/idf:latest]
52+
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5]
53+
54+
build_test_esp32p4_idf_latest:
55+
extends:
56+
- .build_examples_template
57+
- .rules:build:test_apps
58+
- .rules:build:idf_latest
59+
variables:
60+
IDF_TARGETS: "esp32p4"
61+
IDF_BUILD_APPS_VERSION: "2.13.1"
62+
parallel:
63+
matrix:
64+
- IMAGE: [espressif/idf:latest]
5265

5366
build_test_s3_c3_c6:
5467
extends:
5568
- .build_examples_template
5669
- .rules:build:test_apps
5770
variables:
5871
IDF_TARGETS: "esp32s3;esp32c3;esp32c6"
72+
IDF_BUILD_APPS_VERSION: "1.1.4"
73+
parallel:
74+
matrix:
75+
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5]
76+
77+
build_test_s3_c3_c6_idf_latest:
78+
extends:
79+
- .build_examples_template
80+
- .rules:build:test_apps
81+
- .rules:build:idf_latest
82+
variables:
83+
IDF_TARGETS: "esp32s3;esp32c3;esp32c6"
84+
IDF_BUILD_APPS_VERSION: "2.13.1"
5985
parallel:
6086
matrix:
61-
- IMAGE: [espressif/idf:release-v5.4, espressif/idf:release-v5.5, espressif/idf:latest]
87+
- IMAGE: [espressif/idf:latest]
6288

6389
build_test_c5_c61:
6490
extends:
6591
- .build_examples_template
6692
- .rules:build:test_apps
6793
variables:
6894
IDF_TARGETS: "esp32c5;esp32c61"
95+
IDF_BUILD_APPS_VERSION: "1.1.4"
96+
parallel:
97+
matrix:
98+
- IMAGE: [espressif/idf:release-v5.5]
99+
100+
build_test_c5_c61_idf_latest:
101+
extends:
102+
- .build_examples_template
103+
- .rules:build:test_apps
104+
- .rules:build:idf_latest
105+
variables:
106+
IDF_TARGETS: "esp32c5;esp32c61"
107+
IDF_BUILD_APPS_VERSION: "2.13.1"
69108
parallel:
70109
matrix:
71-
- IMAGE: [espressif/idf:release-v5.5, espressif/idf:latest]
110+
- IMAGE: [espressif/idf:latest]

.gitlab/ci/rules.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
.if-dev-push: &if-dev-push
88
if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
99

10+
.if-idf-latest: &if-idf-latest
11+
if: '$CI_BUILD_IDF_LATEST == "enable"'
12+
1013
##################
1114
# Auto Generated #
1215
##################
@@ -33,3 +36,7 @@
3336
.rules:deploy:docs_production:
3437
rules:
3538
- <<: *if-protected
39+
40+
.rules:build:idf_latest:
41+
rules:
42+
- <<: *if-idf-latest

tools/ci/build_apps.py

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import argparse
88
from pathlib import Path
99
from idf_build_apps.constants import SUPPORTED_TARGETS
10-
from idf_build_apps import App, build_apps, find_apps, setup_logging, LOGGER
10+
from idf_build_apps import App, build_apps, find_apps, setup_logging
11+
from idf_build_apps import __version__ as idf_build_apps_version
12+
13+
if idf_build_apps_version == '1.1.4':
14+
from idf_build_apps import LOGGER
1115

1216
DEFAULT_CONFIG_RULES_STR = ['sdkconfig.ci=default', 'sdkconfig.ci.*=', '=default']
1317
DEFAULT_IGNORE_WARNING_FILEPATH = [os.path.join('tools', 'ci', 'ignore_build_warnings.txt')]
@@ -37,20 +41,35 @@ def get_mr_components(modified_files: str) -> str:
3741
return list(components)
3842

3943
def find_all_apps(root: str, manifest_files: list[str], modified_components: list[str], modified_files: list[str], targets: list[str]):
40-
apps = find_apps(
41-
paths=root,
42-
target='all',
43-
build_dir=f'build_@t_@w',
44-
build_log_path='build_log.txt',
45-
size_json_path='size.json',
46-
recursive=True,
47-
check_warnings=True,
48-
config_rules_str=DEFAULT_CONFIG_RULES_STR,
49-
default_build_targets=SUPPORTED_TARGETS + PREVIEW_TARGETS,
50-
modified_components=modified_components,
51-
modified_files=modified_files,
52-
manifest_files=manifest_files,
53-
)
44+
if idf_build_apps_version == '1.1.4':
45+
apps = find_apps(
46+
paths=root,
47+
target='all',
48+
build_dir=f'build_@t_@w',
49+
build_log_path='build_log.txt',
50+
size_json_path='size.json',
51+
recursive=True,
52+
check_warnings=True,
53+
config_rules_str=DEFAULT_CONFIG_RULES_STR,
54+
default_build_targets=SUPPORTED_TARGETS + PREVIEW_TARGETS,
55+
modified_components=modified_components,
56+
modified_files=modified_files,
57+
manifest_files=manifest_files,
58+
)
59+
else:
60+
apps = find_apps(
61+
paths=root,
62+
target='all',
63+
build_dir=f'build_@t_@w',
64+
build_log_filename='build_log.txt',
65+
recursive=True,
66+
check_warnings=True,
67+
config_rules_str=DEFAULT_CONFIG_RULES_STR,
68+
default_build_targets=SUPPORTED_TARGETS + PREVIEW_TARGETS,
69+
modified_components=modified_components,
70+
modified_files=modified_files,
71+
manifest_files=manifest_files,
72+
)
5473

5574
match_apps = []
5675
for app in apps:

0 commit comments

Comments
 (0)