diff --git a/.gitlab/ci/README.md b/.gitlab/ci/README.md index f176397f3b..ec5e4429b7 100644 --- a/.gitlab/ci/README.md +++ b/.gitlab/ci/README.md @@ -60,6 +60,7 @@ - `macos` - `macos_test` - `nvs_coverage` +- `submodule` - `unit_test[_esp32/esp32s2/...]` - `weekend_test` - `windows` diff --git a/.gitlab/ci/dependencies/dependencies.yml b/.gitlab/ci/dependencies/dependencies.yml index b5cd24486e..c11c998d9c 100644 --- a/.gitlab/ci/dependencies/dependencies.yml +++ b/.gitlab/ci/dependencies/dependencies.yml @@ -157,6 +157,12 @@ included_in: - test:any_test +"test:submodule": + labels: + - submodule + patterns: + - submodule + ################################# # Triggered Only By Labels Jobs # ################################# diff --git a/.gitlab/ci/deploy.yml b/.gitlab/ci/deploy.yml index 87ff7a4f84..7a89a196b3 100644 --- a/.gitlab/ci/deploy.yml +++ b/.gitlab/ci/deploy.yml @@ -52,24 +52,3 @@ deploy_test_result: - echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE} # update test results - python3 ImportTestResult.py -r "$GIT_SHA (r${REV_COUNT})" -j $JIRA_TEST_MANAGEMENT_PROJECT -s "$SUMMARY" -l CI -p ${CI_PROJECT_DIR}/TEST_LOGS ${CI_PROJECT_DIR}/${CI_COMMIT_SHA} --pipeline_url ${CI_PIPELINE_URL} - -check_submodule_sync: - extends: - - .deploy_job_template - - .rules:protected - tags: - - github_sync - retry: 2 - variables: - GIT_STRATEGY: clone - SUBMODULES_TO_FETCH: "none" - PUBLIC_IDF_URL: "https://github.com/espressif/esp-idf.git" - script: - - git submodule deinit --force . - # setting the default remote URL to the public one, to resolve relative location URLs - - git config remote.origin.url ${PUBLIC_IDF_URL} - # check if all submodules are correctly synced to public repository - - git submodule init - - git config --get-regexp '^submodule\..*\.url$' || true - - git submodule update --recursive - - echo "IDF was cloned from ${PUBLIC_IDF_URL} completely" diff --git a/.gitlab/ci/pre_check.yml b/.gitlab/ci/pre_check.yml index f02492dcda..eea0b105bb 100644 --- a/.gitlab/ci/pre_check.yml +++ b/.gitlab/ci/pre_check.yml @@ -162,3 +162,24 @@ check_tools_file_patterns: script: - python tools/ci/check_tools_files_patterns.py allow_failure: true + +check_submodule_sync: + extends: + - .pre_check_job_template + - .rules:test:submodule + tags: + - github_sync + retry: 2 + variables: + GIT_STRATEGY: clone + SUBMODULES_TO_FETCH: "none" + PUBLIC_IDF_URL: "https://github.com/espressif/esp-idf.git" + script: + - git submodule deinit --force . + # setting the default remote URL to the public one, to resolve relative location URLs + - git config remote.origin.url ${PUBLIC_IDF_URL} + # check if all submodules are correctly synced to public repository + - git submodule init + - git config --get-regexp '^submodule\..*\.url$' || true + - git submodule update --recursive + - echo "IDF was cloned from ${PUBLIC_IDF_URL} completely" diff --git a/.gitlab/ci/rules.yml b/.gitlab/ci/rules.yml index 6dce714a57..ce8ee6c05f 100644 --- a/.gitlab/ci/rules.yml +++ b/.gitlab/ci/rules.yml @@ -134,6 +134,35 @@ .patterns-docker: &patterns-docker - "tools/docker/**/*" +.patterns-submodule: &patterns-submodule + - "components/asio/asio" + - "components/bootloader/subproject/components/micro-ecc/micro-ecc" + - "components/bt/controller/lib" + - "components/bt/host/nimble/nimble" + - "components/cbor/tinycbor" + - "components/cmock/CMock" + - "components/cmock/CMock/vendor/c_exception" + - "components/cmock/CMock/vendor/unity" + - "components/coap/libcoap" + - "components/coap/libcoap/ext/tinydtls" + - "components/esp_wifi/lib" + - "components/esptool_py/esptool" + - "components/expat/expat" + - "components/json/cJSON" + - "components/libsodium/libsodium" + - "components/lwip/lwip" + - "components/mbedtls/mbedtls" + - "components/mqtt/esp-mqtt" + - "components/nghttp/nghttp2" + - "components/nghttp/nghttp2/third-party/mruby" + - "components/nghttp/nghttp2/third-party/neverbleed" + - "components/protobuf-c/protobuf-c" + - "components/spiffs/spiffs" + - "components/tinyusb/tinyusb" + - "components/unity/unity" + - "examples/build_system/cmake/import_lib/main/lib/tinyxml2" + - "examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib" + ############## # if anchors # ############## @@ -297,6 +326,9 @@ .if-label-nvs_coverage: &if-label-nvs_coverage if: '$BOT_LABEL_NVS_COVERAGE' +.if-label-submodule: &if-label-submodule + if: '$BOT_LABEL_SUBMODULE' + .if-label-unit_test: &if-label-unit_test if: '$BOT_LABEL_UNIT_TEST' @@ -396,6 +428,9 @@ .if-title-nvs_coverage: &if-title-nvs_coverage if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*nvs_coverage(?:,[^,\n\r]+)*$/i || $CI_COMMIT_DESCRIPTION =~ /test labels?: (?:\w+[, ]+)*nvs_coverage(?:[, ]+\w+)*/i' +.if-title-submodule: &if-title-submodule + if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*submodule(?:,[^,\n\r]+)*$/i || $CI_COMMIT_DESCRIPTION =~ /test labels?: (?:\w+[, ]+)*submodule(?:[, ]+\w+)*/i' + .if-title-unit_test: &if-title-unit_test if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test(?:,[^,\n\r]+)*$/i || $CI_COMMIT_DESCRIPTION =~ /test labels?: (?:\w+[, ]+)*unit_test(?:[, ]+\w+)*/i' @@ -1086,6 +1121,14 @@ - <<: *if-dev-push changes: *patterns-integration_test +.rules:test:submodule: + rules: + - <<: *if-protected + - <<: *if-label-submodule + - <<: *if-title-submodule + - <<: *if-dev-push + changes: *patterns-submodule + .rules:test:target_test: rules: - <<: *if-protected