ソースを参照

Merge branch 'ci/fix_skipping_qemu_test' into 'master'

CI: fix skipping qemu test

See merge request espressif/esp-idf!24880
Fu Hanxi 2 年 前
コミット
4a8c9ecb60
3 ファイル変更6 行追加10 行削除
  1. 4 9
      .gitlab/ci/host-test.yml
  2. 1 0
      .gitlab/ci/pre_check.yml
  3. 1 1
      tools/ci/idf_ci_utils.py

+ 4 - 9
.gitlab/ci/host-test.yml

@@ -4,7 +4,7 @@
   image: $ESP_ENV_IMAGE
   tags:
     - host_test
-  dependencies: []
+  dependencies: # set dependencies to null to avoid missing artifacts issue
   # run host_test jobs immediately, only after upload cache
   needs:
     - job: upload-pip-cache
@@ -13,6 +13,8 @@
     - job: upload-submodules-cache
       optional: true
       artifacts: false
+    - job: mr_variables
+      optional: true  # only MR pipelines would have this
 
 test_nvs_on_host:
   extends: .host_test_template
@@ -98,7 +100,6 @@ test_gdbstub_on_host:
     - cd components/esp_gdbstub/test_gdbstub_host
     - make test
 
-
 test_idf_py:
   extends: .host_test_template
   variables:
@@ -301,9 +302,6 @@ test_pytest_qemu:
     - .host_test_template
     - .before_script_build_jobs
   image: $QEMU_IMAGE
-  needs:
-   - job: mr_variables
-     optional: true  # only MR pipelines would have this
   artifacts:
     when: always
     paths:
@@ -325,7 +323,7 @@ test_pytest_qemu:
       --modified-components ${MR_MODIFIED_COMPONENTS}
       --modified-files ${MR_MODIFIED_FILES}
     - retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
-    - pytest
+    - run_cmd pytest
       --target $IDF_TARGET
       -m qemu
       --embedded-services idf,qemu
@@ -337,9 +335,6 @@ test_pytest_linux:
   extends:
     - .host_test_template
     - .before_script_build_jobs
-  needs:
-    - job: mr_variables
-      optional: true  # only MR pipelines would have this
   artifacts:
     when: always
     paths:

+ 1 - 0
.gitlab/ci/pre_check.yml

@@ -201,6 +201,7 @@ mr_variables:
       if echo "$CI_MERGE_REQUEST_LABELS" | egrep "(^|,)BUILD_AND_TEST_ALL_APPS(,|$)"; then
         echo "BUILD_AND_TEST_ALL_APPS=1" >> mr.env
       fi
+    - cat mr.env
   artifacts:
     reports:
       dotenv: mr.env

+ 1 - 1
tools/ci/idf_ci_utils.py

@@ -214,7 +214,7 @@ def get_pytest_files(paths: List[str]) -> List[str]:
     pytest_scripts: Set[str] = set()
     for p in paths:
         path = Path(p)
-        pytest_scripts.update(str(_p) for _p in path.glob('**/pytest_*.py'))
+        pytest_scripts.update(str(_p) for _p in path.glob('**/pytest_*.py') if 'managed_components' not in _p.parts)
 
     return list(pytest_scripts)