Преглед изворни кода

feat(ci): run check_submodule_sync_with_file_patterns

Fu Hanxi пре 5 година
родитељ
комит
ef18e78a8d

+ 1 - 0
.gitlab/ci/README.md

@@ -60,6 +60,7 @@
 - `macos`
 - `macos_test`
 - `nvs_coverage`
+- `submodule`
 - `unit_test[_esp32/esp32s2/...]`
 - `weekend_test`
 - `windows`

+ 6 - 0
.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 #
 #################################

+ 0 - 21
.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"

+ 21 - 0
.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"

+ 43 - 0
.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