Files
2023-12-07 11:56:18 +08:00

172 lines
4.8 KiB
YAML

############
# Patterns #
############
# components folder, in the alphabetic order
.patterns-components_bsp: &patterns-components_bsp
- "components/bsp/**/*"
# examples folder, in the alphabetic order
.patterns-example_chatgpt_demo: &patterns-example_chatgpt_demo
- "examples/chatgpt_demo/**/*"
.patterns-example_chatgpt_demo_factory_nvs: &patterns-example_chatgpt_demo_factory_nvs
- "examples/chatgpt_demo/factory_nvs/**/*"
.patterns-example_matter_switch: &patterns-example_matter_switch
- "examples/matter_switch/**/*"
.patterns-example_factory_demo: &patterns-example_factory_demo
- "examples/factory_demo/**/*"
.patterns-example_image_display: &patterns-example_image_display
- "examples/image_display/**/*"
.patterns-example_lv_demos: &patterns-example_lv_demos
- "examples/lv_demos/**/*"
.patterns-example_mp3_demo: &patterns-example_mp3_demo
- "examples/mp3_demo/**/*"
.patterns-example_usb_camera_lcd_display: &patterns-example_usb_camera_lcd_display
- "examples/usb_camera_lcd_display/**/*"
.patterns-example_esp_joystick: &patterns-example_esp_joystick
- "examples/esp_joystick/**/*"
.patterns-example_usb_headset: &patterns-example_usb_headset
- "examples/usb_headset/**/*"
.patterns-example_watering_demo: &patterns-example_watering_demo
- "examples/watering_demo/**/*"
.patterns-docs_md: &patterns-docs_md
- "**/*.md"
##############
# if anchors #
##############
.if-protected: &if-protected
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/)'
.if-dev-push: &if-dev-push
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")'
##################
# Auto Generated #
##################
.if-label-build: &if-label-build
if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*build(?:,[^,\n\r]+)*$/i'
.if-label-pre_check: &if-label-pre_check
if: '$BOT_LABEL_PRE_CHECK || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*pre_check(?:,[^,\n\r]+)*$/i'
# rules for examples
.rules:build:example_chatgpt_demo:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_chatgpt_demo
.rules:build:example_chatgpt_demo_factory_nvs:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_chatgpt_demo_factory_nvs
.rules:build:example_matter_switch:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_matter_switch
.rules:build:example_factory_demo:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_factory_demo
.rules:build:example_image_display:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_image_display
.rules:build:example_lv_demos:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_lv_demos
.rules:build:example_mp3_demo:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_mp3_demo
.rules:build:example_usb_camera_lcd_display:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_usb_camera_lcd_display
.rules:build:example_esp_joystick:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_esp_joystick
.rules:build:example_usb_headset:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_usb_headset
.rules:build:example_watering_demo:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-example_watering_demo
.rules:pre_check:readme:
rules:
- <<: *if-protected
- <<: *if-label-pre_check
- <<: *if-dev-push
changes: *patterns-components_bsp
- <<: *if-dev-push
changes: *patterns-docs_md