rules.yml 30 KB

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