assign-test.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. .assign_test_template:
  2. image: $TARGET_TEST_ENV_IMAGE
  3. stage: assign_test
  4. tags:
  5. - assign_test
  6. variables:
  7. SUBMODULES_TO_FETCH: "none"
  8. artifacts:
  9. paths:
  10. - ${TEST_DIR}/test_configs/
  11. - artifact_index.json
  12. when: always
  13. expire_in: 1 week
  14. script:
  15. - run_cmd python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
  16. assign_example_test:
  17. extends:
  18. - .assign_test_template
  19. - .rules:build:example_test
  20. needs:
  21. - job: build_examples_cmake_esp32
  22. artifacts: false
  23. optional: true
  24. - job: build_examples_cmake_esp32s2
  25. artifacts: false
  26. optional: true
  27. - job: build_examples_cmake_esp32c2
  28. artifacts: false
  29. optional: true
  30. - job: build_examples_cmake_esp32c3
  31. artifacts: false
  32. optional: true
  33. - job: build_examples_cmake_esp32s3
  34. artifacts: false
  35. optional: true
  36. variables:
  37. TEST_TYPE: example_test
  38. TEST_DIR: examples
  39. assign_custom_test:
  40. extends:
  41. - .assign_test_template
  42. - .rules:build:custom_test
  43. needs:
  44. - job: build_test_apps_esp32
  45. artifacts: false
  46. optional: true
  47. - job: build_test_apps_esp32s2
  48. artifacts: false
  49. optional: true
  50. - job: build_test_apps_esp32c2
  51. artifacts: false
  52. optional: true
  53. - job: build_test_apps_esp32c3
  54. artifacts: false
  55. optional: true
  56. - job: build_test_apps_esp32s3
  57. artifacts: false
  58. optional: true
  59. variables:
  60. TEST_TYPE: custom_test
  61. TEST_DIR: tools/test_apps
  62. assign_unit_test:
  63. extends:
  64. - .assign_test_template
  65. - .rules:build:unit_test
  66. needs:
  67. - job: build_esp_idf_tests_cmake_esp32
  68. optional: true
  69. - job: build_esp_idf_tests_cmake_esp32s2
  70. optional: true
  71. - job: build_esp_idf_tests_cmake_esp32c2
  72. optional: true
  73. - job: build_esp_idf_tests_cmake_esp32c3
  74. optional: true
  75. - job: build_esp_idf_tests_cmake_esp32s3
  76. optional: true
  77. variables:
  78. TEST_TYPE: unit_test
  79. TEST_DIR: components/idf_test/unit_test
  80. assign_integration_test:
  81. extends:
  82. - .assign_test_template
  83. - .rules:test:integration_test
  84. - .before_script_minimal
  85. image: ${CI_INTEGRATION_TEST_ENV_IMAGE}
  86. needs:
  87. - build_ssc_esp32
  88. - build_ssc_esp32c3
  89. artifacts:
  90. paths:
  91. - $TEST_DIR/test_configs
  92. expire_in: 1 week
  93. variables:
  94. TEST_DIR: ${CI_PROJECT_DIR}/tools/ci/integration_test
  95. BUILD_DIR: ${CI_PROJECT_DIR}/SSC/ssc_bin
  96. INTEGRATION_TEST_CASE_PATH: "${CI_PROJECT_DIR}/auto_test_script/TestCaseFiles"
  97. ASSIGN_TEST_CASE_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIAssignTestCases.py"
  98. PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
  99. script:
  100. - add_gitlab_ssh_keys
  101. # clone test script to assign tests
  102. # can not retry if downing git lfs files failed, so using empty_branch first.
  103. - retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
  104. - retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
  105. - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
  106. # assign integration test cases
  107. - python ${ASSIGN_TEST_CASE_SCRIPT} -t ${INTEGRATION_TEST_CASE_PATH} -c $CI_TARGET_TEST_CONFIG_FILE -b ${BUILD_DIR} -o $TEST_DIR/test_configs