diff --git a/tools/jenkins/Jenkinsfile.esp_matter.firmware b/tools/jenkins/Jenkinsfile.esp_matter.firmware index 93685927f..e58b25c46 100644 --- a/tools/jenkins/Jenkinsfile.esp_matter.firmware +++ b/tools/jenkins/Jenkinsfile.esp_matter.firmware @@ -10,7 +10,7 @@ node('master') { pipeline { agent { docker { - image 'registry.hub.docker.com/shripad97/esp_matter_jenkins:latest' + image 'espressif/esp-matter' alwaysPull true } } @@ -45,9 +45,8 @@ pipeline { echo "Package name: ${PACKAGE_NAME}" def esp_matter = load "${WORKSPACE}/tools/jenkins/esp_matter.groovy" - esp_matter.setup_directories_firmware() - esp_matter.setup_directories_script() - esp_matter.setup_directories_tools() + + esp_matter.setup_directories() esp_matter.setup_environment() } } @@ -92,6 +91,7 @@ pipeline { catchError() { script { def esp_matter = load "${WORKSPACE}/tools/jenkins/esp_matter.groovy" + esp_matter.script_artifacts_create() esp_matter.tools_artifacts_create() } } @@ -152,4 +152,3 @@ pipeline { } } } - diff --git a/tools/jenkins/esp_matter.groovy b/tools/jenkins/esp_matter.groovy index 4d178f469..d2a008f81 100644 --- a/tools/jenkins/esp_matter.groovy +++ b/tools/jenkins/esp_matter.groovy @@ -1,37 +1,31 @@ -def setup_directories_firmware() { +def setup_directories() { sh ''' - echo "repos path: ${REPOS_PATH}" - ls -l ${REPOS_PATH} - cd ${REPOS_PATH} - cd .. - ls -l - mkdir -p ${PACKAGE_PATH} - mkdir -p ${PACKAGE_PATH}/Firmware mkdir -p ${PACKAGE_PATH}/Firmware/Evaluation - ''' -} - -def setup_directories_script() { - sh ''' - cd ${REPOS_PATH} - mkdir -p ${PACKAGE_PATH} mkdir -p ${PACKAGE_PATH}/Script - ''' -} - -def setup_directories_tools() { - sh ''' - cd ${REPOS_PATH} - mkdir -p ${PACKAGE_PATH} mkdir -p ${PACKAGE_PATH}/Tools ''' } def setup_environment() { sh ''' - cd ${REPOS_PATH}/esp-idf + cd ${IDF_PATH} . ./export.sh - cd .. + + cd ${ESP_MATTER_PATH} + git config --global --add safe.directory ${REPOS_PATH}/esp-matter + git fetch origin main --depth 1 + git checkout FETCH_HEAD + git clean -fd + git submodule update --init --depth 1 + + cd ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip + ./scripts/checkout_submodules.py --platform esp32 linux --shallow + + cd ${ESP_MATTER_PATH} + ./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 @@ -48,7 +42,6 @@ def setup_environment() { echo "product: ${product}" >> ${REPOS_PATH}/build_details.txt echo "chip: ${chip}" >> ${REPOS_PATH}/build_details.txt echo "flash_size: 4MB" >> ${REPOS_PATH}/build_details.txt - echo "secure_boot: enabled" >> ${REPOS_PATH}/build_details.txt printf "\n\n" >> ${REPOS_PATH}/build_details.txt ''' @@ -59,82 +52,26 @@ def firmware_build() { printf "\n\n" >> ${REPOS_PATH}/build_details.txt echo "firmware_type: ${FIRMWARE_TYPE}" >> ${REPOS_PATH}/build_details.txt - echo "product :${product} " + cd ${IDF_PATH} + . ./export.sh + + cd ${ESP_MATTER_PATH} + . ./export.sh + cd ${ESP_MATTER_PATH}/examples/${product} SDKCONFIG_FILE=${ESP_MATTER_PATH}/examples/${product}/sdkconfig.defaults - - . ${IDF_PATH}/export.sh - . ${ESP_MATTER_PATH}/export.sh; - idf.py fullclean + rm -rf build sdkconfig sdkconfig.old managed_components dependencies.lock - config_option1="CONFIG_ENABLE_ESP32_FACTORY_DATA_PROVIDER=y" - config_option2="CONFIG_ENABLE_ESP32_DEVICE_INSTANCE_INFO_PROVIDER=y" - config_option3="CONFIG_SEC_CERT_DAC_PROVIDER=y" - config_option4="CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n" - config_option5="CONFIG_ENABLE_OTA_REQUESTOR=y" - config_option6="CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y" - config_option7="CONFIG_FACTORY_DEVICE_INSTANCE_INFO_PROVIDER=y" + echo "CONFIG_ENABLE_ESP32_FACTORY_DATA_PROVIDER=y" >> sdkconfig.defaults + echo "CONFIG_ENABLE_ESP32_DEVICE_INSTANCE_INFO_PROVIDER=y" >> sdkconfig.defaults + echo "CONFIG_SEC_CERT_DAC_PROVIDER=y" >> sdkconfig.defaults + echo "CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n" >> sdkconfig.defaults + echo "CONFIG_ENABLE_OTA_REQUESTOR=y" >> sdkconfig.defaults + echo "CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y" >> sdkconfig.defaults + echo "CONFIG_FACTORY_DEVICE_INSTANCE_INFO_PROVIDER=y" >> sdkconfig.defaults - if [ -e "sdkconfig.defaults.${chip}" ]; then - if ! grep -q "^${config_option1%%=*}=" "sdkconfig.defaults.${chip}"; then - echo "${config_option1}" >> "sdkconfig.defaults.${chip}" - fi - - if ! grep -q "^${config_option2%%=*}=" "sdkconfig.defaults.${chip}"; then - echo "${config_option2}" >> "sdkconfig.defaults.${chip}" - fi - - if ! grep -q "^${config_option3%%=*}=" "sdkconfig.defaults.${chip}"; then - echo "${config_option3}" >> "sdkconfig.defaults.${chip}" - fi - - if [ "${chip}" != "esp32h2" ] && ! grep -q "^${config_option4%%=*}=" "sdkconfig.defaults.${chip}"; then - echo "${config_option4}" >> "sdkconfig.defaults.${chip}" - fi - - if ! grep -q "${config_option5}" "sdkconfig.defaults.${chip}"; then - echo "${config_option5}" >> "sdkconfig.defaults.${chip}" - fi - - echo "${config_option6}" >> "sdkconfig.defaults.${chip}" - - if ! grep -q "${config_option7}" "sdkconfig.defaults.${chip}"; then - echo "${config_option7}" >> "sdkconfig.defaults.${chip}" - fi - - else - if ! grep -q "^${config_option1%%=*}=" sdkconfig.defaults; then - echo "${config_option1}" >> "sdkconfig.defaults" - fi - - if ! grep -q "^${config_option2%%=*}=" sdkconfig.defaults; then - echo "${config_option2}" >> "sdkconfig.defaults" - fi - - if ! grep -q "^${config_option3%%=*}=" sdkconfig.defaults; then - echo "${config_option3}" >> "sdkconfig.defaults" - fi - - if ! grep -q "^${config_option4%%=*}=" sdkconfig.defaults; then - echo "${config_option4}" >> "sdkconfig.defaults" - fi - - if ! grep -q "${config_option5}" "sdkconfig.defaults"; then - echo "${config_option5}" >> "sdkconfig.defaults" - fi - - echo "${config_option6}" >> "sdkconfig.defaults" - - if ! grep -q "${config_option7}" "sdkconfig.defaults"; then - echo "${config_option7}" >> "sdkconfig.defaults" - fi - fi - - idf.py set-target ${chip} - - cat sdkconfig - idf.py build + idf.py set-target ${chip} build ''' } @@ -166,28 +103,32 @@ def firmware_build_save() { ''' } +def script_artifacts_create() { + sh ''' + SCRIPTS_PATH=${PACKAGE_PATH}/Script/manufacturing_scripts + mkdir -p ${SCRIPTS_PATH} + + mkdir -p ${SCRIPTS_PATH}/esp-matter/connectedhomeip/connectedhomeip/credentials + cp -r ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/credentials/test ${SCRIPTS_PATH}/esp-matter/connectedhomeip/connectedhomeip/credentials + cp -r ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/credentials/production ${SCRIPTS_PATH}/esp-matter/connectedhomeip/connectedhomeip/credentials + cp -r ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/credentials/development ${SCRIPTS_PATH}/esp-matter/connectedhomeip/connectedhomeip/credentials + + ''' +} + def tools_artifacts_create() { sh ''' - PACKAGE_TOOLS_PATH=${PACKAGE_PATH}/Tools - TOOL_DIRECTORY_NAME=chip-tool - TOOL_PATH=${PACKAGE_TOOLS_PATH}/${TOOL_DIRECTORY_NAME} - mkdir -p ${TOOL_PATH} + mkdir -p ${PACKAGE_PATH}/Tools/chip-tool + cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host/chip-tool ${PACKAGE_PATH}/Tools/chip-tool - cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host/chip-tool ${TOOL_PATH}/ + mkdir -p ${PACKAGE_PATH}/Tools/chip-cert + cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host/chip-cert ${PACKAGE_PATH}/Tools/chip-cert - TOOL_DIRECTORY_NAME=chip-cert - TOOL_PATH=${PACKAGE_TOOLS_PATH}/${TOOL_DIRECTORY_NAME} - mkdir -p ${TOOL_PATH} + 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/host/chip-cert ${TOOL_PATH}/ + TOOL_PATH=${PACKAGE_PATH}/Tools/chip-ota-provider-app - TOOL_DIRECTORY_NAME=chip-ota-provider-app - TOOL_PATH=${PACKAGE_TOOLS_PATH}/${TOOL_DIRECTORY_NAME} - mkdir -p ${TOOL_PATH} - - cp ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/debug/chip-ota-provider-app ${TOOL_PATH}/ - - # esp-matter mkdir -p ${TOOL_PATH}/esp-matter/connectedhomeip/connectedhomeip/src/app cp -r ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/src/app/ota_image_tool.py ${TOOL_PATH}/esp-matter/connectedhomeip/connectedhomeip/src/app