export ESP_ZIGBEE_SDK_HTTP="https://gitlab-ci-token:${CI_JOB_TOKEN}@${ESP_GITLAB}/espressif/esp-zigbee-sdk.git" export ESP_IDF_HTTP="https://gitlab-ci-token:${CI_JOB_TOKEN}@${ESP_GITLAB}/espressif/esp-idf.git" shopt -s globstar # Allow ** for recursive matches function setup_idf() { idf_ref="${CI_COMMIT_REF_NAME}" [ "$idf_ref" == "master" ] && idf_ref="${IDF_VERSION}" echo "Try to fetch ${idf_ref}" git clone --depth=1 -b ${idf_ref} ${ESP_IDF_HTTP} || git clone --depth=1 -b ${IDF_VERSION} ${ESP_IDF_HTTP} pushd esp-idf git submodule update --init --depth=1 ./install.sh . ./export.sh popd } function setup_esp_sdk() { git clone --depth=1 -b $CI_COMMIT_REF_NAME ${ESP_ZIGBEE_SDK_HTTP} || git clone --depth=1 -b main ${ESP_ZIGBEE_SDK_HTTP} } function update_cmake_dependency() { echo ${IDF_PATH} cp -r $CI_PROJECT_DIR/esp-zigbee-sdk/components/esp-zigbee-lib ${IDF_PATH}/components/espressif__esp-zigbee-lib # copy esp-zboss-lib to esp-idf mkdir ${IDF_PATH}/components/espressif__esp-zboss-lib cp -r $CI_PROJECT_DIR/include ${IDF_PATH}/components/espressif__esp-zboss-lib cp -r $CI_PROJECT_DIR/lib ${IDF_PATH}/components/espressif__esp-zboss-lib cp $CI_PROJECT_DIR/idf_component.yml ${IDF_PATH}/components/espressif__esp-zboss-lib cp $CI_PROJECT_DIR/CMakeLists.txt ${IDF_PATH}/components/espressif__esp-zboss-lib ls -lf ${IDF_PATH}/components/espressif__esp-zboss-lib # end copy sed -i "/\besp-zboss-lib\b/d;/\besp-zigbee-lib\b/d" ${IDF_PATH}/examples/zigbee/**/main/idf_component.yml sed -i "/\besp-zboss-lib\b/d;/\besp-zigbee-lib\b/d" $CI_PROJECT_DIR/esp-zigbee-sdk/examples/**/main/idf_component.yml sed -i "/\besp-zboss-lib\b/d;/\besp-zigbee-lib\b/d" $CI_PROJECT_DIR/esp-zigbee-sdk/components/*/idf_component.yml } function build_rcp_gateway() { mv $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway/sdkconfig.defaults $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway/sdkconfig.defaults.ori cp $CI_PROJECT_DIR/esp-zigbee-sdk/tools/ci/sdkconfig_for_gateway_ci.defaults $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway/sdkconfig.defaults pushd $CI_PROJECT_DIR/esp-idf/examples/openthread/ot_rcp echo "CONFIG_OPENTHREAD_NCP_VENDOR_HOOK=y" >> sdkconfig.defaults idf.py set-target esp32h2 idf.py build popd pushd $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway idf.py set-target esp32s3 idf.py build popd mv $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway/sdkconfig.defaults.ori $CI_PROJECT_DIR/esp-zigbee-sdk/examples/esp_zigbee_gateway/sdkconfig.defaults }