From 868fe19e78ae9ec833aeb9ee973cad42886c5fc8 Mon Sep 17 00:00:00 2001 From: shripad621git Date: Fri, 12 Jul 2024 15:59:11 +0530 Subject: [PATCH] Changes to support OTA in esp-matter automation tests. --- examples/all_device_types_app/CMakeLists.txt | 2 +- tools/jenkins/Jenkinsfile.esp_matter.firmware | 4 ++++ tools/jenkins/esp_matter.groovy | 18 ++++++++++++++---- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/examples/all_device_types_app/CMakeLists.txt b/examples/all_device_types_app/CMakeLists.txt index 333e18cb7..788d63425 100644 --- a/examples/all_device_types_app/CMakeLists.txt +++ b/examples/all_device_types_app/CMakeLists.txt @@ -31,7 +31,7 @@ else() endif() if(NOT DEFINED CLI_PROJECT_VER_NUMBER) - set(PROJECT_VER 1) + set(PROJECT_VER_NUMBER 1) else() set(PROJECT_VER_NUMBER "${CLI_PROJECT_VER_NUMBER}") endif() diff --git a/tools/jenkins/Jenkinsfile.esp_matter.firmware b/tools/jenkins/Jenkinsfile.esp_matter.firmware index e58b25c46..923401f2f 100644 --- a/tools/jenkins/Jenkinsfile.esp_matter.firmware +++ b/tools/jenkins/Jenkinsfile.esp_matter.firmware @@ -72,6 +72,10 @@ pipeline { esp_matter.firmware_build() esp_matter.firmware_build_save() + env.FIRMWARE_TYPE = "OTA" + esp_matter.firmware_build() + esp_matter.firmware_build_save() + } } } diff --git a/tools/jenkins/esp_matter.groovy b/tools/jenkins/esp_matter.groovy index d2a008f81..1cf0c5c9d 100644 --- a/tools/jenkins/esp_matter.groovy +++ b/tools/jenkins/esp_matter.groovy @@ -25,8 +25,6 @@ def setup_environment() { ./install.sh . ./export.sh - python3 -m pip install esp-matter-mfg-tool - cd ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false @@ -71,7 +69,19 @@ def firmware_build() { echo "CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y" >> sdkconfig.defaults echo "CONFIG_FACTORY_DEVICE_INSTANCE_INFO_PROVIDER=y" >> sdkconfig.defaults - idf.py set-target ${chip} build + idf.py set-target ${chip} + if [ "${FIRMWARE_TYPE}" = "OTA" ]; then + MIN_PROJECT_VER=10 + MAX_PROJECT_VER=100 + OTA_PROJECT_VER=$((RANDOM % (MAX_PROJECT_VER - MIN_PROJECT_VER + 1) + MIN_PROJECT_VER)) + OTA_PROJECT_VER_STRING="${OTA_PROJECT_VER}.0" + echo "OTA Project Version Number: ${OTA_PROJECT_VER}" >> ${REPOS_PATH}/build_details.txt + echo "OTA Project Version String: ${OTA_PROJECT_VER_STRING}" >> ${REPOS_PATH}/build_details.txt + idf.py -DCLI_PROJECT_VER=${OTA_PROJECT_VER_STRING} -DCLI_PROJECT_VER_NUMBER=${OTA_PROJECT_VER} build + else + idf.py build + fi + ''' } @@ -125,7 +135,7 @@ def tools_artifacts_create() { cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host/chip-cert ${PACKAGE_PATH}/Tools/chip-cert mkdir -p ${PACKAGE_PATH}/Tools/chip-ota-provider-app - cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/debug/chip-ota-provider-app ${PACKAGE_PATH}Tools/chip-ota-provider-app + cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/debug/chip-ota-provider-app ${PACKAGE_PATH}/Tools/chip-ota-provider-app TOOL_PATH=${PACKAGE_PATH}/Tools/chip-ota-provider-app