rules.yml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979
  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:fuzzer_test-weekend_test:
  570. rules:
  571. - <<: *if-label-fuzzer_test
  572. - <<: *if-label-weekend_test
  573. .rules:labels:iperf_stress_test:
  574. rules:
  575. - <<: *if-label-iperf_stress_test
  576. .rules:labels:nvs_coverage:
  577. rules:
  578. - <<: *if-label-nvs_coverage
  579. .rules:labels:weekend_test:
  580. rules:
  581. - <<: *if-label-weekend_test
  582. .rules:test:any_test:
  583. rules:
  584. - <<: *if-protected
  585. - <<: *if-label-build-only
  586. when: never
  587. - <<: *if-label-component_ut
  588. - <<: *if-label-component_ut_esp32
  589. - <<: *if-label-component_ut_esp32c3
  590. - <<: *if-label-component_ut_esp32s2
  591. - <<: *if-label-component_ut_esp32s3
  592. - <<: *if-label-custom_test
  593. - <<: *if-label-custom_test_esp32
  594. - <<: *if-label-custom_test_esp32c3
  595. - <<: *if-label-custom_test_esp32s2
  596. - <<: *if-label-custom_test_esp32s3
  597. - <<: *if-label-example_test
  598. - <<: *if-label-example_test_esp32
  599. - <<: *if-label-example_test_esp32c3
  600. - <<: *if-label-example_test_esp32s2
  601. - <<: *if-label-example_test_esp32s3
  602. - <<: *if-label-host_test
  603. - <<: *if-label-integration_test
  604. - <<: *if-label-iperf_stress_test
  605. - <<: *if-label-unit_test
  606. - <<: *if-label-unit_test_esp32
  607. - <<: *if-label-unit_test_esp32c3
  608. - <<: *if-label-unit_test_esp32s2
  609. - <<: *if-label-unit_test_esp32s3
  610. - <<: *if-label-weekend_test
  611. - <<: *if-dev-push
  612. changes: *patterns-build-example_test
  613. - <<: *if-dev-push
  614. changes: *patterns-component_ut
  615. - <<: *if-dev-push
  616. changes: *patterns-custom_test
  617. - <<: *if-dev-push
  618. changes: *patterns-example_test
  619. - <<: *if-dev-push
  620. changes: *patterns-host_test
  621. - <<: *if-dev-push
  622. changes: *patterns-integration_test
  623. - <<: *if-dev-push
  624. changes: *patterns-unit_test
  625. .rules:test:component_ut-esp32:
  626. rules:
  627. - <<: *if-protected
  628. - <<: *if-label-build-only
  629. when: never
  630. - <<: *if-label-component_ut
  631. - <<: *if-label-component_ut_esp32
  632. - <<: *if-label-unit_test
  633. - <<: *if-label-unit_test_esp32
  634. - <<: *if-dev-push
  635. changes: *patterns-component_ut
  636. .rules:test:component_ut-esp32c3:
  637. rules:
  638. - <<: *if-protected
  639. - <<: *if-label-build-only
  640. when: never
  641. - <<: *if-label-component_ut
  642. - <<: *if-label-component_ut_esp32c3
  643. - <<: *if-label-unit_test
  644. - <<: *if-label-unit_test_esp32c3
  645. - <<: *if-dev-push
  646. changes: *patterns-component_ut
  647. .rules:test:component_ut-esp32s2:
  648. rules:
  649. - <<: *if-protected
  650. - <<: *if-label-build-only
  651. when: never
  652. - <<: *if-label-component_ut
  653. - <<: *if-label-component_ut_esp32s2
  654. - <<: *if-label-unit_test
  655. - <<: *if-label-unit_test_esp32s2
  656. - <<: *if-dev-push
  657. changes: *patterns-component_ut
  658. .rules:test:component_ut-esp32s3:
  659. rules:
  660. - <<: *if-protected
  661. - <<: *if-label-build-only
  662. when: never
  663. - <<: *if-label-component_ut
  664. - <<: *if-label-component_ut_esp32s3
  665. - <<: *if-label-unit_test
  666. - <<: *if-label-unit_test_esp32s3
  667. - <<: *if-dev-push
  668. changes: *patterns-component_ut
  669. .rules:test:custom_test-esp32:
  670. rules:
  671. - <<: *if-protected
  672. - <<: *if-label-build-only
  673. when: never
  674. - <<: *if-label-custom_test
  675. - <<: *if-label-custom_test_esp32
  676. - <<: *if-dev-push
  677. changes: *patterns-custom_test
  678. .rules:test:custom_test-esp32c3:
  679. rules:
  680. - <<: *if-protected
  681. - <<: *if-label-build-only
  682. when: never
  683. - <<: *if-label-custom_test
  684. - <<: *if-label-custom_test_esp32c3
  685. - <<: *if-dev-push
  686. changes: *patterns-custom_test
  687. .rules:test:custom_test-esp32s2:
  688. rules:
  689. - <<: *if-protected
  690. - <<: *if-label-build-only
  691. when: never
  692. - <<: *if-label-custom_test
  693. - <<: *if-label-custom_test_esp32s2
  694. - <<: *if-dev-push
  695. changes: *patterns-custom_test
  696. .rules:test:custom_test-esp32s3:
  697. rules:
  698. - <<: *if-protected
  699. - <<: *if-label-build-only
  700. when: never
  701. - <<: *if-label-custom_test
  702. - <<: *if-label-custom_test_esp32s3
  703. - <<: *if-dev-push
  704. changes: *patterns-custom_test
  705. .rules:test:example_test-esp32:
  706. rules:
  707. - <<: *if-protected
  708. - <<: *if-label-build-only
  709. when: never
  710. - <<: *if-label-example_test
  711. - <<: *if-label-example_test_esp32
  712. - <<: *if-dev-push
  713. changes: *patterns-build-example_test
  714. - <<: *if-dev-push
  715. changes: *patterns-example_test
  716. .rules:test:example_test-esp32c3:
  717. rules:
  718. - <<: *if-protected
  719. - <<: *if-label-build-only
  720. when: never
  721. - <<: *if-label-example_test
  722. - <<: *if-label-example_test_esp32c3
  723. - <<: *if-dev-push
  724. changes: *patterns-build-example_test
  725. - <<: *if-dev-push
  726. changes: *patterns-example_test
  727. .rules:test:example_test-esp32s2:
  728. rules:
  729. - <<: *if-protected
  730. - <<: *if-label-build-only
  731. when: never
  732. - <<: *if-label-example_test
  733. - <<: *if-label-example_test_esp32s2
  734. - <<: *if-dev-push
  735. changes: *patterns-build-example_test
  736. - <<: *if-dev-push
  737. changes: *patterns-example_test
  738. .rules:test:example_test-esp32s3:
  739. rules:
  740. - <<: *if-protected
  741. - <<: *if-label-build-only
  742. when: never
  743. - <<: *if-label-example_test
  744. - <<: *if-label-example_test_esp32s3
  745. - <<: *if-dev-push
  746. changes: *patterns-build-example_test
  747. - <<: *if-dev-push
  748. changes: *patterns-example_test
  749. .rules:test:host_test:
  750. rules:
  751. - <<: *if-protected
  752. - <<: *if-label-build-only
  753. when: never
  754. - <<: *if-label-host_test
  755. - <<: *if-dev-push
  756. changes: *patterns-host_test
  757. .rules:test:integration_test:
  758. rules:
  759. - <<: *if-protected
  760. - <<: *if-label-build-only
  761. when: never
  762. - <<: *if-label-integration_test
  763. - <<: *if-dev-push
  764. changes: *patterns-integration_test
  765. .rules:test:submodule:
  766. rules:
  767. - <<: *if-protected
  768. - <<: *if-label-build-only
  769. when: never
  770. - <<: *if-label-submodule
  771. - <<: *if-dev-push
  772. changes: *patterns-submodule
  773. .rules:test:target_test:
  774. rules:
  775. - <<: *if-protected
  776. - <<: *if-label-build-only
  777. when: never
  778. - <<: *if-label-component_ut
  779. - <<: *if-label-component_ut_esp32
  780. - <<: *if-label-component_ut_esp32c3
  781. - <<: *if-label-component_ut_esp32s2
  782. - <<: *if-label-component_ut_esp32s3
  783. - <<: *if-label-custom_test
  784. - <<: *if-label-custom_test_esp32
  785. - <<: *if-label-custom_test_esp32c3
  786. - <<: *if-label-custom_test_esp32s2
  787. - <<: *if-label-custom_test_esp32s3
  788. - <<: *if-label-example_test
  789. - <<: *if-label-example_test_esp32
  790. - <<: *if-label-example_test_esp32c3
  791. - <<: *if-label-example_test_esp32s2
  792. - <<: *if-label-example_test_esp32s3
  793. - <<: *if-label-integration_test
  794. - <<: *if-label-unit_test
  795. - <<: *if-label-unit_test_esp32
  796. - <<: *if-label-unit_test_esp32c3
  797. - <<: *if-label-unit_test_esp32s2
  798. - <<: *if-label-unit_test_esp32s3
  799. - <<: *if-dev-push
  800. changes: *patterns-build-example_test
  801. - <<: *if-dev-push
  802. changes: *patterns-component_ut
  803. - <<: *if-dev-push
  804. changes: *patterns-custom_test
  805. - <<: *if-dev-push
  806. changes: *patterns-example_test
  807. - <<: *if-dev-push
  808. changes: *patterns-integration_test
  809. - <<: *if-dev-push
  810. changes: *patterns-unit_test
  811. .rules:test:unit_test-esp32:
  812. rules:
  813. - <<: *if-protected
  814. - <<: *if-label-build-only
  815. when: never
  816. - <<: *if-label-unit_test
  817. - <<: *if-label-unit_test_esp32
  818. - <<: *if-dev-push
  819. changes: *patterns-unit_test
  820. .rules:test:unit_test-esp32c3:
  821. rules:
  822. - <<: *if-protected
  823. - <<: *if-label-build-only
  824. when: never
  825. - <<: *if-label-unit_test
  826. - <<: *if-label-unit_test_esp32c3
  827. - <<: *if-dev-push
  828. changes: *patterns-unit_test
  829. .rules:test:unit_test-esp32s2:
  830. rules:
  831. - <<: *if-protected
  832. - <<: *if-label-build-only
  833. when: never
  834. - <<: *if-label-unit_test
  835. - <<: *if-label-unit_test_esp32s2
  836. - <<: *if-dev-push
  837. changes: *patterns-unit_test
  838. .rules:test:unit_test-esp32s3:
  839. rules:
  840. - <<: *if-protected
  841. - <<: *if-label-build-only
  842. when: never
  843. - <<: *if-label-unit_test
  844. - <<: *if-label-unit_test_esp32s3
  845. - <<: *if-dev-push
  846. changes: *patterns-unit_test