CI: run all the pytest example builds with the same IDF version

This commit is contained in:
WanqQixiang
2025-10-10 15:19:54 +08:00
parent c34a940bcf
commit a74daed66b
+36 -14
View File
@@ -286,7 +286,7 @@ build_image:
REPOS_PATH: "$CI_PROJECT_DIR/repos"
IDF_CCACHE_ENABLE: 1
build_esp_matter_examples_pytest_C6_idf_v5_1:
build_esp_matter_examples_pytest_C6:
extends:
- .build_examples_template
artifacts:
@@ -306,7 +306,7 @@ build_esp_matter_examples_pytest_C6_idf_v5_1:
- pip install -r tools/ci/requirements-build.txt
- python tools/ci/build_apps.py ./examples --pytest_c6
build_esp_matter_examples_pytest_H2_idf_v5_1:
build_esp_matter_examples_pytest_H2:
extends:
- .build_examples_template
artifacts:
@@ -340,10 +340,10 @@ build_esp_matter_examples_pytest_H2_idf_v5_1:
- python tools/ci/build_apps.py ./examples --pytest_h2
- |
if [ "$CI_PIPELINE_SOURCE" == "merge_request_event" ]; then
python tools/ci/memory_analyzer.py --chip esp32h2 --job_name "build_esp_matter_examples_pytest_H2_idf_v5_1" --ref_map_file light_mr_base.map --example "light"
python tools/ci/memory_analyzer.py --chip esp32h2 --job_name "build_esp_matter_examples_pytest_H2" --ref_map_file light_mr_base.map --example "light"
fi
build_esp_matter_examples_pytest_C2_idf_v5_1:
build_esp_matter_examples_pytest_C2:
extends:
- .build_examples_template
artifacts:
@@ -367,7 +367,7 @@ build_esp_matter_examples_pytest_C2_idf_v5_1:
- python tools/ci/build_apps.py ./examples --pytest_c2
- |
if [ "$CI_PIPELINE_SOURCE" == "merge_request_event" ]; then
python tools/ci/memory_analyzer.py --chip esp32c2 --job_name "build_esp_matter_examples_pytest_C2_idf_v5_1" --ref_map_file light_mr_base.map --example "light"
python tools/ci/memory_analyzer.py --chip esp32c2 --job_name "build_esp_matter_examples_pytest_C2" --ref_map_file light_mr_base.map --example "light"
fi
@@ -460,7 +460,7 @@ build_nopytest_remaining_examples_manual:
parallel: 2
build_esp_matter_examples_pytest_C3_idf_v4_4:
build_esp_matter_examples_idf_v4_4:
extends:
- .build_examples_template
image: ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF}
@@ -480,7 +480,6 @@ build_esp_matter_examples_pytest_C3_idf_v4_4:
- cd ${ESP_MATTER_PATH}
# idf v4.4 requires jinja < 3.1 so lets install the dependencies for idf v4.4
- pip install -r requirements_idf_v4.4.txt
- pip install -r tools/ci/requirements-build.txt
# hack the construct==2.10.54 to make it work with idf-v4.4, Python3.12
# imp is not present in Python3.12 so remove it
- wget https://files.pythonhosted.org/packages/30/2f/e2e6bad1b80f744cf5c2a6d622e3dee698b43e6c040f980ae0ac0edd5e54/construct-2.10.54.tar.gz
@@ -488,17 +487,42 @@ build_esp_matter_examples_pytest_C3_idf_v4_4:
- sed -i 's/, imp$//g' construct-2.10.54/construct/core.py
- python3 -m pip install ./construct-2.10.54
- rm -rf construct-2.10.54*
- python tools/ci/build_apps.py ./examples --pytest_c3
- cd ${ESP_MATTER_PATH}/examples/light
- idf.py set-target esp32c3
- idf.py build
variables:
IDF_CHECKOUT_REF: "v4.4.3"
build_esp_matter_examples_pytest_C3:
extends:
- .build_examples_template
image: ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF}
artifacts:
paths:
- "examples/**/build*/size.json"
- "examples/**/build*/build_log.txt"
- "examples/**/build*/*.map"
- "examples/**/build*/*.bin"
- "examples/**/build*/flasher_args.json"
- "examples/**/build*/config/sdkconfig.json"
- "examples/**/build*/bootloader/*.bin"
- "examples/**/build*/partition_table/*.bin"
when: always
expire_in: 4 days
script:
- cd ${ESP_MATTER_PATH}
- pip install -r tools/ci/requirements-build.txt
- python tools/ci/build_apps.py ./examples --pytest_c3
pytest_esp32c3_esp_matter_dut:
stage: target_test
image: ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF}
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main" || $CI_PIPELINE_SOURCE == "push"
needs:
- build_esp_matter_examples_pytest_C3_idf_v4_4
- build_esp_matter_examples_pytest_C3
script:
- cd ${ESP_MATTER_PATH}
- rm -rf connectedhomeip/connectedhomeip
@@ -506,8 +530,6 @@ pytest_esp32c3_esp_matter_dut:
- pip install -r tools/ci/requirements-pytest.txt
- pytest examples/ --target esp32c3 -m esp_matter_dut --junitxml=XUNIT_RESULT.xml
tags: ["esp32c3", "esp_matter_dut"]
variables:
IDF_CHECKOUT_REF: "v4.4.3"
pytest_esp32c6_esp_matter_dut:
stage: target_test
@@ -515,7 +537,7 @@ pytest_esp32c6_esp_matter_dut:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_BRANCH == "main" || $CI_PIPELINE_SOURCE == "push"
needs:
- build_esp_matter_examples_pytest_C6_idf_v5_1
- build_esp_matter_examples_pytest_C6
script:
- cd ${ESP_MATTER_PATH}
- rm -rf connectedhomeip/connectedhomeip
@@ -540,7 +562,7 @@ pytest_esp32c2_esp_matter_dut:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_BRANCH == "main" || $CI_PIPELINE_SOURCE == "push"
needs:
- build_esp_matter_examples_pytest_C2_idf_v5_1
- build_esp_matter_examples_pytest_C2
script:
- cd ${ESP_MATTER_PATH}
- rm -rf connectedhomeip/connectedhomeip
@@ -559,7 +581,7 @@ pytest_esp32h2_esp_matter_dut:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main" || $CI_PIPELINE_SOURCE == "push"
needs:
- build_esp_matter_examples_pytest_H2_idf_v5_1
- build_esp_matter_examples_pytest_H2
script:
- cd ${ESP_MATTER_PATH}
- rm -rf connectedhomeip/connectedhomeip