rules.yml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971
  1. ############
  2. # Patterns #
  3. ############
  4. .patterns-c-files: &patterns-c-files
  5. - ".gitlab/ci/static-code-analysis.yml"
  6. - "tools/ci/static-analysis-rules.yml"
  7. - "tools/ci/clang_tidy_dirs.txt"
  8. - "**/*.{c,C}"
  9. - "**/*.{h,H}"
  10. - "components/**/Kconfig"
  11. - "components/**/CMakeList.txt"
  12. .patterns-python-files: &patterns-python-files
  13. - ".gitlab/ci/static-code-analysis.yml"
  14. - "**/*.py"
  15. .patterns-sonarqube-files: &patterns-sonarqube-files
  16. - "tools/ci/sonar_exclude_list.txt"
  17. .patterns-example_test: &patterns-example_test
  18. - "tools/ci/python_packages/gitlab_api.py"
  19. - "tools/ci/python_packages/idf_http_server_test/**/*"
  20. - "tools/ci/python_packages/idf_iperf_test_util/**/*"
  21. - "tools/ci/python_packages/tiny_test_fw/**/*"
  22. - "tools/ci/python_packages/ttfw_idf/**/*"
  23. - "tools/ci/find_apps_build_apps.sh"
  24. - "tools/build_apps.py"
  25. - "tools/find_apps.py"
  26. - "tools/find_build_apps/**/*"
  27. - "tools/esp_prov/**/*"
  28. - "examples/**/*"
  29. .patterns-build-example_test: &patterns-build-example_test
  30. - "tools/ci/build_example_dirs.txt"
  31. - "tools/ci/get_supported_examples.sh"
  32. .patterns-build_components: &patterns-build_components
  33. - "components/**/*"
  34. - "examples/cxx/experimental/experimental_cpp_component/*"
  35. .patterns-build_system: &patterns-build_system
  36. - "tools/cmake/**/*"
  37. - "tools/kconfig_new/**/*"
  38. - "tools/tools.json"
  39. - "tools/ci/test_build_system*.sh"
  40. .patterns-custom_test: &patterns-custom_test
  41. - "components/espcoredump/**/*"
  42. - "tools/ci/python_packages/gitlab_api.py"
  43. - "tools/ci/python_packages/tiny_test_fw/**/*"
  44. - "tools/ci/python_packages/ttfw_idf/**/*"
  45. - "tools/ci/find_apps_build_apps.sh"
  46. - "tools/build_apps.py"
  47. - "tools/find_apps.py"
  48. - "tools/find_build_apps/**/*"
  49. - "tools/test_apps/**/*"
  50. - "tools/ldgen/**/*"
  51. .patterns-unit_test: &patterns-unit_test
  52. - "tools/ci/python_packages/gitlab_api.py"
  53. - "tools/ci/python_packages/tiny_test_fw/**/*"
  54. - "tools/ci/python_packages/ttfw_idf/**/*"
  55. - "tools/ci/find_apps_build_apps.sh"
  56. - "tools/build_apps.py"
  57. - "tools/find_apps.py"
  58. - "tools/find_build_apps/**/*"
  59. - "tools/unit-test-app/**/*"
  60. .patterns-component_ut: &patterns-component_ut
  61. - "tools/ci/python_packages/gitlab_api.py"
  62. - "tools/ci/python_packages/tiny_test_fw/**/*"
  63. - "tools/ci/python_packages/ttfw_idf/**/*"
  64. - "tools/ci/find_apps_build_apps.sh"
  65. - "tools/build_apps.py"
  66. - "tools/find_apps.py"
  67. - "tools/find_build_apps/**/*"
  68. - "components/**/test_apps/**/*"
  69. .patterns-integration_test: &patterns-integration_test
  70. - "tools/ci/python_packages/tiny_test_fw/**/*"
  71. .patterns-host_test: &patterns-host_test
  72. - ".gitlab/ci/host-test.yml"
  73. - "components/**/*"
  74. - "tools/ci/test_autocomplete.py"
  75. - "tools/ci/test_build_system.sh"
  76. - "tools/ci/test_build_system_cmake.sh"
  77. - "tools/ci/test_check_kconfigs.py"
  78. - "tools/ci/test_configure_ci_environment.sh"
  79. - "tools/mass_mfg/**/*"
  80. - "tools/esp_app_trace/**/*"
  81. - "tools/ldgen/**/*"
  82. - "tools/idf_monitor_base/*"
  83. - "tools/idf_monitor.py"
  84. - "tools/test_idf_monitor/**/*"
  85. - "tools/idf.py"
  86. - "tools/idf_py_actions/**/*"
  87. - "tools/test_idf_py/**/*"
  88. - "tools/idf_size.py"
  89. - "tools/idf_size_yaml/*"
  90. - "tools/test_idf_size/**/*"
  91. - "tools/tools.json"
  92. - "tools/tools_schema.json"
  93. - "tools/idf_tools.py"
  94. - "tools/test_idf_tools/**/*"
  95. - "tools/mkdfu.py"
  96. - "tools/test_mkdfu/**/*"
  97. - "tools/kconfig_new/**/*"
  98. - "tools/detect_python.sh"
  99. - "tools/detect_python.fish"
  100. .patterns-windows: &patterns-windows
  101. - "tools/windows/**/*"
  102. .patterns-docker: &patterns-docker
  103. - "tools/docker/**/*"
  104. .patterns-submodule: &patterns-submodule
  105. - "components/asio/asio"
  106. - "components/bootloader/subproject/components/micro-ecc/micro-ecc"
  107. - "components/bt/controller/lib_esp32"
  108. - "components/bt/controller/lib_esp32c3_family"
  109. - "components/bt/host/nimble/nimble"
  110. - "components/cbor/tinycbor"
  111. - "components/cmock/CMock"
  112. - "components/cmock/CMock/vendor/c_exception"
  113. - "components/cmock/CMock/vendor/unity"
  114. - "components/coap/libcoap"
  115. - "components/coap/libcoap/ext/tinydtls"
  116. - "components/esp_phy/lib"
  117. - "components/esp_wifi/lib"
  118. - "components/esptool_py/esptool"
  119. - "components/expat/expat"
  120. - "components/json/cJSON"
  121. - "components/libsodium/libsodium"
  122. - "components/lwip/lwip"
  123. - "components/mbedtls/mbedtls"
  124. - "components/mqtt/esp-mqtt"
  125. - "components/nghttp/nghttp2"
  126. - "components/nghttp/nghttp2/third-party/mruby"
  127. - "components/nghttp/nghttp2/third-party/neverbleed"
  128. - "components/openthread/lib"
  129. - "components/protobuf-c/protobuf-c"
  130. - "components/spiffs/spiffs"
  131. - "components/tinyusb/tinyusb"
  132. - "components/unity/unity"
  133. - "examples/build_system/cmake/import_lib/main/lib/tinyxml2"
  134. - "examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib"
  135. ##############
  136. # if anchors #
  137. ##############
  138. .if-ref-master: &if-ref-master
  139. if: '$CI_COMMIT_REF_NAME == "master"'
  140. .if-tag-release: &if-tag-release
  141. if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/'
  142. .if-protected: &if-protected
  143. if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/)'
  144. .if-protected-no_label: &if-protected-no_label
  145. if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) && $BOT_TRIGGER_WITH_LABEL == null'
  146. .if-dev-push: &if-dev-push
  147. if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
  148. .if-schedule: &if-schedule
  149. if: '$CI_PIPELINE_SOURCE == "schedule"'
  150. .if-trigger: &if-trigger
  151. if: '$CI_PIPELINE_SOURCE == "trigger"'
  152. .if-label-build-only: &if-label-build-only
  153. if: '$CI_JOB_STAGE == "target_test" && $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*For Maintainers: Only Build Tests(?:,[^,\n\r]+)*$/i'
  154. #########
  155. # Rules #
  156. #########
  157. .rules:protected:
  158. rules:
  159. - <<: *if-protected
  160. .rules:protected-no_label:
  161. rules:
  162. - <<: *if-protected-no_label
  163. .rules:dev:
  164. rules:
  165. - <<: *if-trigger
  166. - <<: *if-dev-push
  167. .rules:tag:release:
  168. rules:
  169. - <<: *if-tag-release
  170. .rules:ref:master-schedule:
  171. rules:
  172. - <<: *if-ref-master
  173. - <<: *if-schedule
  174. .rules:ref:master-schedule-always:
  175. rules:
  176. - <<: *if-ref-master
  177. when: always
  178. - <<: *if-schedule
  179. when: always
  180. .rules:patterns:clang_tidy:
  181. rules:
  182. - <<: *if-protected
  183. - <<: *if-dev-push
  184. changes: *patterns-c-files
  185. .rules:patterns:python-files:
  186. rules:
  187. - <<: *if-protected
  188. - <<: *if-dev-push
  189. changes: *patterns-python-files
  190. .rules:patterns:static-code-analysis-preview:
  191. rules:
  192. - <<: *if-dev-push
  193. changes: *patterns-c-files
  194. - <<: *if-dev-push
  195. changes: *patterns-python-files
  196. - <<: *if-dev-push
  197. changes: *patterns-sonarqube-files
  198. # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  199. # DO NOT place comments or maintain any code from this line
  200. #
  201. # Use dependencies.yml and generate_rules.py under .gitlab/ci/dependencies dir
  202. # to generate labels and rules
  203. # Could also use pre-commit hook to finish this if detected changes on
  204. # these two files
  205. # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  206. ##################
  207. # Auto Generated #
  208. ##################
  209. .if-label-build: &if-label-build
  210. if: '$BOT_LABEL_BUILD || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*build(?:,[^,\n\r]+)*$/i'
  211. .if-label-component_ut: &if-label-component_ut
  212. if: '$BOT_LABEL_COMPONENT_UT || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*component_ut(?:,[^,\n\r]+)*$/i'
  213. .if-label-component_ut_esp32: &if-label-component_ut_esp32
  214. if: '$BOT_LABEL_COMPONENT_UT_ESP32 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*component_ut_esp32(?:,[^,\n\r]+)*$/i'
  215. .if-label-component_ut_esp32c3: &if-label-component_ut_esp32c3
  216. if: '$BOT_LABEL_COMPONENT_UT_ESP32C3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*component_ut_esp32c3(?:,[^,\n\r]+)*$/i'
  217. .if-label-component_ut_esp32s2: &if-label-component_ut_esp32s2
  218. if: '$BOT_LABEL_COMPONENT_UT_ESP32S2 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*component_ut_esp32s2(?:,[^,\n\r]+)*$/i'
  219. .if-label-component_ut_esp32s3: &if-label-component_ut_esp32s3
  220. if: '$BOT_LABEL_COMPONENT_UT_ESP32S3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*component_ut_esp32s3(?:,[^,\n\r]+)*$/i'
  221. .if-label-custom_test: &if-label-custom_test
  222. if: '$BOT_LABEL_CUSTOM_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*custom_test(?:,[^,\n\r]+)*$/i'
  223. .if-label-custom_test_esp32: &if-label-custom_test_esp32
  224. if: '$BOT_LABEL_CUSTOM_TEST_ESP32 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*custom_test_esp32(?:,[^,\n\r]+)*$/i'
  225. .if-label-custom_test_esp32c3: &if-label-custom_test_esp32c3
  226. if: '$BOT_LABEL_CUSTOM_TEST_ESP32C3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*custom_test_esp32c3(?:,[^,\n\r]+)*$/i'
  227. .if-label-custom_test_esp32s2: &if-label-custom_test_esp32s2
  228. if: '$BOT_LABEL_CUSTOM_TEST_ESP32S2 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*custom_test_esp32s2(?:,[^,\n\r]+)*$/i'
  229. .if-label-custom_test_esp32s3: &if-label-custom_test_esp32s3
  230. if: '$BOT_LABEL_CUSTOM_TEST_ESP32S3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*custom_test_esp32s3(?:,[^,\n\r]+)*$/i'
  231. .if-label-docker: &if-label-docker
  232. if: '$BOT_LABEL_DOCKER || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*docker(?:,[^,\n\r]+)*$/i'
  233. .if-label-example_test: &if-label-example_test
  234. if: '$BOT_LABEL_EXAMPLE_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*example_test(?:,[^,\n\r]+)*$/i'
  235. .if-label-example_test_esp32: &if-label-example_test_esp32
  236. if: '$BOT_LABEL_EXAMPLE_TEST_ESP32 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*example_test_esp32(?:,[^,\n\r]+)*$/i'
  237. .if-label-example_test_esp32c3: &if-label-example_test_esp32c3
  238. if: '$BOT_LABEL_EXAMPLE_TEST_ESP32C3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*example_test_esp32c3(?:,[^,\n\r]+)*$/i'
  239. .if-label-example_test_esp32s2: &if-label-example_test_esp32s2
  240. if: '$BOT_LABEL_EXAMPLE_TEST_ESP32S2 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*example_test_esp32s2(?:,[^,\n\r]+)*$/i'
  241. .if-label-example_test_esp32s3: &if-label-example_test_esp32s3
  242. if: '$BOT_LABEL_EXAMPLE_TEST_ESP32S3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*example_test_esp32s3(?:,[^,\n\r]+)*$/i'
  243. .if-label-fuzzer_test: &if-label-fuzzer_test
  244. if: '$BOT_LABEL_FUZZER_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*fuzzer_test(?:,[^,\n\r]+)*$/i'
  245. .if-label-host_test: &if-label-host_test
  246. if: '$BOT_LABEL_HOST_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*host_test(?:,[^,\n\r]+)*$/i'
  247. .if-label-integration_test: &if-label-integration_test
  248. if: '$BOT_LABEL_INTEGRATION_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*integration_test(?:,[^,\n\r]+)*$/i'
  249. .if-label-iperf_stress_test: &if-label-iperf_stress_test
  250. if: '$BOT_LABEL_IPERF_STRESS_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*iperf_stress_test(?:,[^,\n\r]+)*$/i'
  251. .if-label-macos: &if-label-macos
  252. if: '$BOT_LABEL_MACOS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*macos(?:,[^,\n\r]+)*$/i'
  253. .if-label-macos_test: &if-label-macos_test
  254. if: '$BOT_LABEL_MACOS_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*macos_test(?:,[^,\n\r]+)*$/i'
  255. .if-label-nvs_coverage: &if-label-nvs_coverage
  256. if: '$BOT_LABEL_NVS_COVERAGE || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*nvs_coverage(?:,[^,\n\r]+)*$/i'
  257. .if-label-submodule: &if-label-submodule
  258. if: '$BOT_LABEL_SUBMODULE || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*submodule(?:,[^,\n\r]+)*$/i'
  259. .if-label-unit_test: &if-label-unit_test
  260. if: '$BOT_LABEL_UNIT_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test(?:,[^,\n\r]+)*$/i'
  261. .if-label-unit_test_esp32: &if-label-unit_test_esp32
  262. if: '$BOT_LABEL_UNIT_TEST_ESP32 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test_esp32(?:,[^,\n\r]+)*$/i'
  263. .if-label-unit_test_esp32c3: &if-label-unit_test_esp32c3
  264. if: '$BOT_LABEL_UNIT_TEST_ESP32C3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test_esp32c3(?:,[^,\n\r]+)*$/i'
  265. .if-label-unit_test_esp32s2: &if-label-unit_test_esp32s2
  266. if: '$BOT_LABEL_UNIT_TEST_ESP32S2 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test_esp32s2(?:,[^,\n\r]+)*$/i'
  267. .if-label-unit_test_esp32s3: &if-label-unit_test_esp32s3
  268. if: '$BOT_LABEL_UNIT_TEST_ESP32S3 || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*unit_test_esp32s3(?:,[^,\n\r]+)*$/i'
  269. .if-label-weekend_test: &if-label-weekend_test
  270. if: '$BOT_LABEL_WEEKEND_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*weekend_test(?:,[^,\n\r]+)*$/i'
  271. .if-label-windows: &if-label-windows
  272. if: '$BOT_LABEL_WINDOWS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*windows(?:,[^,\n\r]+)*$/i'
  273. .rules:build:
  274. rules:
  275. - <<: *if-protected
  276. - <<: *if-label-build
  277. - <<: *if-dev-push
  278. changes: *patterns-build_components
  279. - <<: *if-dev-push
  280. changes: *patterns-build_system
  281. .rules:build:component_ut-esp32:
  282. rules:
  283. - <<: *if-protected
  284. - <<: *if-label-build
  285. - <<: *if-label-component_ut
  286. - <<: *if-label-component_ut_esp32
  287. - <<: *if-label-unit_test
  288. - <<: *if-label-unit_test_esp32
  289. - <<: *if-dev-push
  290. changes: *patterns-build_components
  291. - <<: *if-dev-push
  292. changes: *patterns-build_system
  293. - <<: *if-dev-push
  294. changes: *patterns-component_ut
  295. .rules:build:component_ut-esp32c3:
  296. rules:
  297. - <<: *if-protected
  298. - <<: *if-label-build
  299. - <<: *if-label-component_ut
  300. - <<: *if-label-component_ut_esp32c3
  301. - <<: *if-label-unit_test
  302. - <<: *if-label-unit_test_esp32c3
  303. - <<: *if-dev-push
  304. changes: *patterns-build_components
  305. - <<: *if-dev-push
  306. changes: *patterns-build_system
  307. - <<: *if-dev-push
  308. changes: *patterns-component_ut
  309. .rules:build:component_ut-esp32s2:
  310. rules:
  311. - <<: *if-protected
  312. - <<: *if-label-build
  313. - <<: *if-label-component_ut
  314. - <<: *if-label-component_ut_esp32s2
  315. - <<: *if-label-unit_test
  316. - <<: *if-label-unit_test_esp32s2
  317. - <<: *if-dev-push
  318. changes: *patterns-build_components
  319. - <<: *if-dev-push
  320. changes: *patterns-build_system
  321. - <<: *if-dev-push
  322. changes: *patterns-component_ut
  323. .rules:build:component_ut-esp32s3:
  324. rules:
  325. - <<: *if-protected
  326. - <<: *if-label-build
  327. - <<: *if-label-component_ut
  328. - <<: *if-label-component_ut_esp32s3
  329. - <<: *if-label-unit_test
  330. - <<: *if-label-unit_test_esp32s3
  331. - <<: *if-dev-push
  332. changes: *patterns-build_components
  333. - <<: *if-dev-push
  334. changes: *patterns-build_system
  335. - <<: *if-dev-push
  336. changes: *patterns-component_ut
  337. .rules:build:custom_test-esp32:
  338. rules:
  339. - <<: *if-protected
  340. - <<: *if-label-build
  341. - <<: *if-label-custom_test
  342. - <<: *if-label-custom_test_esp32
  343. - <<: *if-label-weekend_test
  344. - <<: *if-dev-push
  345. changes: *patterns-build_components
  346. - <<: *if-dev-push
  347. changes: *patterns-build_system
  348. - <<: *if-dev-push
  349. changes: *patterns-custom_test
  350. .rules:build:custom_test-esp32c3:
  351. rules:
  352. - <<: *if-protected
  353. - <<: *if-label-build
  354. - <<: *if-label-custom_test
  355. - <<: *if-label-custom_test_esp32c3
  356. - <<: *if-dev-push
  357. changes: *patterns-build_components
  358. - <<: *if-dev-push
  359. changes: *patterns-build_system
  360. - <<: *if-dev-push
  361. changes: *patterns-custom_test
  362. .rules:build:custom_test-esp32s2:
  363. rules:
  364. - <<: *if-protected
  365. - <<: *if-label-build
  366. - <<: *if-label-custom_test
  367. - <<: *if-label-custom_test_esp32s2
  368. - <<: *if-dev-push
  369. changes: *patterns-build_components
  370. - <<: *if-dev-push
  371. changes: *patterns-build_system
  372. - <<: *if-dev-push
  373. changes: *patterns-custom_test
  374. .rules:build:custom_test-esp32s3:
  375. rules:
  376. - <<: *if-protected
  377. - <<: *if-label-build
  378. - <<: *if-label-custom_test
  379. - <<: *if-label-custom_test_esp32s3
  380. - <<: *if-dev-push
  381. changes: *patterns-build_components
  382. - <<: *if-dev-push
  383. changes: *patterns-build_system
  384. - <<: *if-dev-push
  385. changes: *patterns-custom_test
  386. .rules:build:docker:
  387. rules:
  388. - <<: *if-protected
  389. - <<: *if-label-build
  390. - <<: *if-label-docker
  391. - <<: *if-dev-push
  392. changes: *patterns-docker
  393. .rules:build:example_test-esp32:
  394. rules:
  395. - <<: *if-protected
  396. - <<: *if-label-build
  397. - <<: *if-label-example_test
  398. - <<: *if-label-example_test_esp32
  399. - <<: *if-label-iperf_stress_test
  400. - <<: *if-dev-push
  401. changes: *patterns-build-example_test
  402. - <<: *if-dev-push
  403. changes: *patterns-build_components
  404. - <<: *if-dev-push
  405. changes: *patterns-build_system
  406. - <<: *if-dev-push
  407. changes: *patterns-example_test
  408. .rules:build:example_test-esp32c3:
  409. rules:
  410. - <<: *if-protected
  411. - <<: *if-label-build
  412. - <<: *if-label-example_test
  413. - <<: *if-label-example_test_esp32c3
  414. - <<: *if-dev-push
  415. changes: *patterns-build-example_test
  416. - <<: *if-dev-push
  417. changes: *patterns-build_components
  418. - <<: *if-dev-push
  419. changes: *patterns-build_system
  420. - <<: *if-dev-push
  421. changes: *patterns-example_test
  422. .rules:build:example_test-esp32s2:
  423. rules:
  424. - <<: *if-protected
  425. - <<: *if-label-build
  426. - <<: *if-label-example_test
  427. - <<: *if-label-example_test_esp32s2
  428. - <<: *if-dev-push
  429. changes: *patterns-build-example_test
  430. - <<: *if-dev-push
  431. changes: *patterns-build_components
  432. - <<: *if-dev-push
  433. changes: *patterns-build_system
  434. - <<: *if-dev-push
  435. changes: *patterns-example_test
  436. .rules:build:example_test-esp32s3:
  437. rules:
  438. - <<: *if-protected
  439. - <<: *if-label-build
  440. - <<: *if-label-example_test
  441. - <<: *if-label-example_test_esp32s3
  442. - <<: *if-dev-push
  443. changes: *patterns-build-example_test
  444. - <<: *if-dev-push
  445. changes: *patterns-build_components
  446. - <<: *if-dev-push
  447. changes: *patterns-build_system
  448. - <<: *if-dev-push
  449. changes: *patterns-example_test
  450. .rules:build:integration_test:
  451. rules:
  452. - <<: *if-protected
  453. - <<: *if-label-build
  454. - <<: *if-label-integration_test
  455. - <<: *if-dev-push
  456. changes: *patterns-build_components
  457. - <<: *if-dev-push
  458. changes: *patterns-build_system
  459. - <<: *if-dev-push
  460. changes: *patterns-integration_test
  461. .rules:build:macos:
  462. rules:
  463. - <<: *if-protected
  464. - <<: *if-label-build
  465. - <<: *if-label-macos
  466. - <<: *if-label-macos_test
  467. - <<: *if-dev-push
  468. changes: *patterns-build_system
  469. .rules:build:target_test:
  470. rules:
  471. - <<: *if-protected
  472. - <<: *if-label-build
  473. - <<: *if-label-component_ut
  474. - <<: *if-label-component_ut_esp32
  475. - <<: *if-label-component_ut_esp32c3
  476. - <<: *if-label-component_ut_esp32s2
  477. - <<: *if-label-component_ut_esp32s3
  478. - <<: *if-label-custom_test
  479. - <<: *if-label-custom_test_esp32
  480. - <<: *if-label-custom_test_esp32c3
  481. - <<: *if-label-custom_test_esp32s2
  482. - <<: *if-label-custom_test_esp32s3
  483. - <<: *if-label-example_test
  484. - <<: *if-label-example_test_esp32
  485. - <<: *if-label-example_test_esp32c3
  486. - <<: *if-label-example_test_esp32s2
  487. - <<: *if-label-example_test_esp32s3
  488. - <<: *if-label-integration_test
  489. - <<: *if-label-iperf_stress_test
  490. - <<: *if-label-unit_test
  491. - <<: *if-label-unit_test_esp32
  492. - <<: *if-label-unit_test_esp32c3
  493. - <<: *if-label-unit_test_esp32s2
  494. - <<: *if-label-unit_test_esp32s3
  495. - <<: *if-label-weekend_test
  496. - <<: *if-dev-push
  497. changes: *patterns-build-example_test
  498. - <<: *if-dev-push
  499. changes: *patterns-build_components
  500. - <<: *if-dev-push
  501. changes: *patterns-build_system
  502. - <<: *if-dev-push
  503. changes: *patterns-component_ut
  504. - <<: *if-dev-push
  505. changes: *patterns-custom_test
  506. - <<: *if-dev-push
  507. changes: *patterns-example_test
  508. - <<: *if-dev-push
  509. changes: *patterns-integration_test
  510. - <<: *if-dev-push
  511. changes: *patterns-unit_test
  512. .rules:build:unit_test-esp32:
  513. rules:
  514. - <<: *if-protected
  515. - <<: *if-label-build
  516. - <<: *if-label-unit_test
  517. - <<: *if-label-unit_test_esp32
  518. - <<: *if-dev-push
  519. changes: *patterns-build_components
  520. - <<: *if-dev-push
  521. changes: *patterns-build_system
  522. - <<: *if-dev-push
  523. changes: *patterns-unit_test
  524. .rules:build:unit_test-esp32c3:
  525. rules:
  526. - <<: *if-protected
  527. - <<: *if-label-build
  528. - <<: *if-label-unit_test
  529. - <<: *if-label-unit_test_esp32c3
  530. - <<: *if-dev-push
  531. changes: *patterns-build_components
  532. - <<: *if-dev-push
  533. changes: *patterns-build_system
  534. - <<: *if-dev-push
  535. changes: *patterns-unit_test
  536. .rules:build:unit_test-esp32s2:
  537. rules:
  538. - <<: *if-protected
  539. - <<: *if-label-build
  540. - <<: *if-label-unit_test
  541. - <<: *if-label-unit_test_esp32s2
  542. - <<: *if-dev-push
  543. changes: *patterns-build_components
  544. - <<: *if-dev-push
  545. changes: *patterns-build_system
  546. - <<: *if-dev-push
  547. changes: *patterns-unit_test
  548. .rules:build:unit_test-esp32s3:
  549. rules:
  550. - <<: *if-protected
  551. - <<: *if-label-build
  552. - <<: *if-label-unit_test
  553. - <<: *if-label-unit_test_esp32s3
  554. - <<: *if-dev-push
  555. changes: *patterns-build_components
  556. - <<: *if-dev-push
  557. changes: *patterns-build_system
  558. - <<: *if-dev-push
  559. changes: *patterns-unit_test
  560. .rules:build:windows:
  561. rules:
  562. - <<: *if-protected
  563. - <<: *if-label-build
  564. - <<: *if-label-windows
  565. - <<: *if-dev-push
  566. changes: *patterns-build_system
  567. - <<: *if-dev-push
  568. changes: *patterns-windows
  569. .rules:labels:example_test-esp32c3:
  570. rules:
  571. - <<: *if-label-build-only
  572. when: never
  573. - <<: *if-label-example_test_esp32c3
  574. .rules:labels:fuzzer_test-weekend_test:
  575. rules:
  576. - <<: *if-label-fuzzer_test
  577. - <<: *if-label-weekend_test
  578. .rules:labels:iperf_stress_test:
  579. rules:
  580. - <<: *if-label-iperf_stress_test
  581. .rules:labels:nvs_coverage:
  582. rules:
  583. - <<: *if-label-nvs_coverage
  584. .rules:labels:weekend_test:
  585. rules:
  586. - <<: *if-label-weekend_test
  587. .rules:test:any_test:
  588. rules:
  589. - <<: *if-protected
  590. - <<: *if-label-build-only
  591. when: never
  592. - <<: *if-label-component_ut
  593. - <<: *if-label-component_ut_esp32
  594. - <<: *if-label-component_ut_esp32c3
  595. - <<: *if-label-component_ut_esp32s2
  596. - <<: *if-label-component_ut_esp32s3
  597. - <<: *if-label-custom_test
  598. - <<: *if-label-custom_test_esp32
  599. - <<: *if-label-custom_test_esp32c3
  600. - <<: *if-label-custom_test_esp32s2
  601. - <<: *if-label-custom_test_esp32s3
  602. - <<: *if-label-example_test
  603. - <<: *if-label-example_test_esp32
  604. - <<: *if-label-example_test_esp32s2
  605. - <<: *if-label-example_test_esp32s3
  606. - <<: *if-label-host_test
  607. - <<: *if-label-integration_test
  608. - <<: *if-label-iperf_stress_test
  609. - <<: *if-label-unit_test
  610. - <<: *if-label-unit_test_esp32
  611. - <<: *if-label-unit_test_esp32c3
  612. - <<: *if-label-unit_test_esp32s2
  613. - <<: *if-label-unit_test_esp32s3
  614. - <<: *if-label-weekend_test
  615. - <<: *if-dev-push
  616. changes: *patterns-build-example_test
  617. - <<: *if-dev-push
  618. changes: *patterns-component_ut
  619. - <<: *if-dev-push
  620. changes: *patterns-custom_test
  621. - <<: *if-dev-push
  622. changes: *patterns-example_test
  623. - <<: *if-dev-push
  624. changes: *patterns-host_test
  625. - <<: *if-dev-push
  626. changes: *patterns-integration_test
  627. - <<: *if-dev-push
  628. changes: *patterns-unit_test
  629. .rules:test:component_ut-esp32:
  630. rules:
  631. - <<: *if-protected
  632. - <<: *if-label-build-only
  633. when: never
  634. - <<: *if-label-component_ut
  635. - <<: *if-label-component_ut_esp32
  636. - <<: *if-label-unit_test
  637. - <<: *if-label-unit_test_esp32
  638. - <<: *if-dev-push
  639. changes: *patterns-component_ut
  640. .rules:test:component_ut-esp32c3:
  641. rules:
  642. - <<: *if-protected
  643. - <<: *if-label-build-only
  644. when: never
  645. - <<: *if-label-component_ut
  646. - <<: *if-label-component_ut_esp32c3
  647. - <<: *if-label-unit_test
  648. - <<: *if-label-unit_test_esp32c3
  649. - <<: *if-dev-push
  650. changes: *patterns-component_ut
  651. .rules:test:component_ut-esp32s2:
  652. rules:
  653. - <<: *if-protected
  654. - <<: *if-label-build-only
  655. when: never
  656. - <<: *if-label-component_ut
  657. - <<: *if-label-component_ut_esp32s2
  658. - <<: *if-label-unit_test
  659. - <<: *if-label-unit_test_esp32s2
  660. - <<: *if-dev-push
  661. changes: *patterns-component_ut
  662. .rules:test:component_ut-esp32s3:
  663. rules:
  664. - <<: *if-protected
  665. - <<: *if-label-build-only
  666. when: never
  667. - <<: *if-label-component_ut
  668. - <<: *if-label-component_ut_esp32s3
  669. - <<: *if-label-unit_test
  670. - <<: *if-label-unit_test_esp32s3
  671. - <<: *if-dev-push
  672. changes: *patterns-component_ut
  673. .rules:test:custom_test-esp32:
  674. rules:
  675. - <<: *if-protected
  676. - <<: *if-label-build-only
  677. when: never
  678. - <<: *if-label-custom_test
  679. - <<: *if-label-custom_test_esp32
  680. - <<: *if-dev-push
  681. changes: *patterns-custom_test
  682. .rules:test:custom_test-esp32c3:
  683. rules:
  684. - <<: *if-protected
  685. - <<: *if-label-build-only
  686. when: never
  687. - <<: *if-label-custom_test
  688. - <<: *if-label-custom_test_esp32c3
  689. - <<: *if-dev-push
  690. changes: *patterns-custom_test
  691. .rules:test:custom_test-esp32s2:
  692. rules:
  693. - <<: *if-protected
  694. - <<: *if-label-build-only
  695. when: never
  696. - <<: *if-label-custom_test
  697. - <<: *if-label-custom_test_esp32s2
  698. - <<: *if-dev-push
  699. changes: *patterns-custom_test
  700. .rules:test:custom_test-esp32s3:
  701. rules:
  702. - <<: *if-protected
  703. - <<: *if-label-build-only
  704. when: never
  705. - <<: *if-label-custom_test
  706. - <<: *if-label-custom_test_esp32s3
  707. - <<: *if-dev-push
  708. changes: *patterns-custom_test
  709. .rules:test:example_test-esp32:
  710. rules:
  711. - <<: *if-protected
  712. - <<: *if-label-build-only
  713. when: never
  714. - <<: *if-label-example_test
  715. - <<: *if-label-example_test_esp32
  716. - <<: *if-dev-push
  717. changes: *patterns-build-example_test
  718. - <<: *if-dev-push
  719. changes: *patterns-example_test
  720. .rules:test:example_test-esp32s2:
  721. rules:
  722. - <<: *if-protected
  723. - <<: *if-label-build-only
  724. when: never
  725. - <<: *if-label-example_test
  726. - <<: *if-label-example_test_esp32s2
  727. - <<: *if-dev-push
  728. changes: *patterns-build-example_test
  729. - <<: *if-dev-push
  730. changes: *patterns-example_test
  731. .rules:test:example_test-esp32s3:
  732. rules:
  733. - <<: *if-protected
  734. - <<: *if-label-build-only
  735. when: never
  736. - <<: *if-label-example_test
  737. - <<: *if-label-example_test_esp32s3
  738. - <<: *if-dev-push
  739. changes: *patterns-build-example_test
  740. - <<: *if-dev-push
  741. changes: *patterns-example_test
  742. .rules:test:host_test:
  743. rules:
  744. - <<: *if-protected
  745. - <<: *if-label-build-only
  746. when: never
  747. - <<: *if-label-host_test
  748. - <<: *if-dev-push
  749. changes: *patterns-host_test
  750. .rules:test:integration_test:
  751. rules:
  752. - <<: *if-protected
  753. - <<: *if-label-build-only
  754. when: never
  755. - <<: *if-label-integration_test
  756. - <<: *if-dev-push
  757. changes: *patterns-integration_test
  758. .rules:test:submodule:
  759. rules:
  760. - <<: *if-protected
  761. - <<: *if-label-build-only
  762. when: never
  763. - <<: *if-label-submodule
  764. - <<: *if-dev-push
  765. changes: *patterns-submodule
  766. .rules:test:target_test:
  767. rules:
  768. - <<: *if-protected
  769. - <<: *if-label-build-only
  770. when: never
  771. - <<: *if-label-component_ut
  772. - <<: *if-label-component_ut_esp32
  773. - <<: *if-label-component_ut_esp32c3
  774. - <<: *if-label-component_ut_esp32s2
  775. - <<: *if-label-component_ut_esp32s3
  776. - <<: *if-label-custom_test
  777. - <<: *if-label-custom_test_esp32
  778. - <<: *if-label-custom_test_esp32c3
  779. - <<: *if-label-custom_test_esp32s2
  780. - <<: *if-label-custom_test_esp32s3
  781. - <<: *if-label-example_test
  782. - <<: *if-label-example_test_esp32
  783. - <<: *if-label-example_test_esp32s2
  784. - <<: *if-label-example_test_esp32s3
  785. - <<: *if-label-integration_test
  786. - <<: *if-label-unit_test
  787. - <<: *if-label-unit_test_esp32
  788. - <<: *if-label-unit_test_esp32c3
  789. - <<: *if-label-unit_test_esp32s2
  790. - <<: *if-label-unit_test_esp32s3
  791. - <<: *if-dev-push
  792. changes: *patterns-build-example_test
  793. - <<: *if-dev-push
  794. changes: *patterns-component_ut
  795. - <<: *if-dev-push
  796. changes: *patterns-custom_test
  797. - <<: *if-dev-push
  798. changes: *patterns-example_test
  799. - <<: *if-dev-push
  800. changes: *patterns-integration_test
  801. - <<: *if-dev-push
  802. changes: *patterns-unit_test
  803. .rules:test:unit_test-esp32:
  804. rules:
  805. - <<: *if-protected
  806. - <<: *if-label-build-only
  807. when: never
  808. - <<: *if-label-unit_test
  809. - <<: *if-label-unit_test_esp32
  810. - <<: *if-dev-push
  811. changes: *patterns-unit_test
  812. .rules:test:unit_test-esp32c3:
  813. rules:
  814. - <<: *if-protected
  815. - <<: *if-label-build-only
  816. when: never
  817. - <<: *if-label-unit_test
  818. - <<: *if-label-unit_test_esp32c3
  819. - <<: *if-dev-push
  820. changes: *patterns-unit_test
  821. .rules:test:unit_test-esp32s2:
  822. rules:
  823. - <<: *if-protected
  824. - <<: *if-label-build-only
  825. when: never
  826. - <<: *if-label-unit_test
  827. - <<: *if-label-unit_test_esp32s2
  828. - <<: *if-dev-push
  829. changes: *patterns-unit_test
  830. .rules:test:unit_test-esp32s3:
  831. rules:
  832. - <<: *if-protected
  833. - <<: *if-label-build-only
  834. when: never
  835. - <<: *if-label-unit_test
  836. - <<: *if-label-unit_test_esp32s3
  837. - <<: *if-dev-push
  838. changes: *patterns-unit_test