mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
ci(buildv2): skip patching the fake_pass build child pipeline
idf-ci emits a skip pipeline containing only a fake_pass job, with no include of test_child_pipeline.yml, when the modified files match no buildable apps. patch_buildv2_child_pipeline.py redefined generate_pytest_child_pipeline unconditionally, assuming the included template supplied its tags, image and assign_test stage via keyword merge. With the template absent, the injected job was bare: no tags, default test stage. It was scheduled on the wrong runner and failed, turning the allow_failure build_child_pipeline_buildv2 bridge red on every buildv2 MR whose changes produce an empty app matrix. Return early when a fake_pass job is present so the child pipeline is left untouched and skips, matching the default build path. Add a unit test for the patch script and a host_test job to run it.
This commit is contained in:
@@ -295,6 +295,12 @@ test_idf_build_apps_load_soc_caps:
|
||||
- cd tools/ci
|
||||
- pytest_for_ut ./test_soc_headers_load_in_idf_build_apps.py
|
||||
|
||||
test_dynamic_pipelines_scripts:
|
||||
extends: .host_test_template
|
||||
script:
|
||||
- cd ${IDF_PATH}/tools/ci/dynamic_pipelines/tests
|
||||
- pytest_for_ut ./test_patch_buildv2_child_pipeline.py
|
||||
|
||||
test_nvs_gen_check:
|
||||
extends: .host_test_template
|
||||
artifacts:
|
||||
|
||||
@@ -134,6 +134,9 @@
|
||||
|
||||
- "tools/ci/test_soc_headers_load_in_idf_build_apps.py"
|
||||
|
||||
- "tools/ci/dynamic_pipelines/scripts/patch_buildv2_child_pipeline.py"
|
||||
- "tools/ci/dynamic_pipelines/tests/**/*"
|
||||
|
||||
.patterns-docker: &patterns-docker
|
||||
- "tools/docker/**/*"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user