.patterns-build_components: &patterns-build_components - ".gitlab/**/*" - "tools/**/*" - "elements/**/*" - "gmf_core/**/*" - "packages/**/*" ############## # if anchors # ############## .if-web: &if-web if: '$CI_PIPELINE_SOURCE == "web"' .if-ref-main: &if-ref-main if: '$CI_COMMIT_REF_NAME == "main"' .if-trigger: &if-trigger if: '$CI_PIPELINE_SOURCE == "trigger"' .if-pipeline: &if-pipeline if: '$CI_PIPELINE_SOURCE == "pipeline"' .if-schedule: &if-schedule if: '$CI_PIPELINE_SOURCE == "schedule"' .if-merge_request_event: &if-merge_request_event if: '$CI_PIPELINE_SOURCE == "merge_request_event"' .if-open-merge-request: &if-open-merge-request if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && ($CI_PIPELINE_SOURCE == "push")' .if-dev-push: &if-dev-push if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && ($CI_PIPELINE_SOURCE == "push")' .if-protected: &if-protected if: '($CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/)' .if-label-skip_unit_test: &if-label-skip_unit_test if: '$BOT_LABEL_SKIP_UNIT_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*skip_unit_test(?:,[^,\n\r]+)*$/i' .if-label-skip_example_test: &if-label-skip_example_test if: '$BOT_LABEL_SKIP_EXAMPLE_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*skip_example_test(?:,[^,\n\r]+)*$/i' .if-label-skip_example: &if-label-skip_example if: '$BOT_LABEL_SKIP_EXAMPLE_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*skip_example(?:,[^,\n\r]+)*$/i' .idf-version-tag-v5-3: &idf-version-tag-v5-3 if: '$IDF_VERSION_TAG == "v5.3"' variables: IMAGE: "$CI_DOCKER_IMAGE_REGISTRY/env_v5.3:1" .idf-version-tag-v5-4: &idf-version-tag-v5-4 if: '$IDF_VERSION_TAG == "v5.4.3"' variables: IMAGE: "$CI_IDF_DOCKER_REGISTRY/esp-env-v5.4:2" .rules:ref:main-schedule: rules: - <<: *if-ref-main - <<: *if-schedule .rules:ref:check-label: rules: - <<: *if-merge_request_event .rules:build:regular-board-idf-ver-tag: rules: - <<: *if-dev-push when: never - <<: *if-schedule when: never .rules:build:non-regular-board-idf-ver-tag: rules: - <<: *if-dev-push when: never - <<: *if-merge_request_event when: never .rules:build:protected-merge-requests-pipeline: rules: - <<: *if-dev-push when: never - <<: *idf-version-tag-v5-3 - <<: *idf-version-tag-v5-4 - <<: *if-web - <<: *if-trigger - <<: *if-pipeline - <<: *if-protected - <<: *if-merge_request_event .rules:build:protected-merge-requests: rules: - <<: *if-web - <<: *if-protected - <<: *if-merge_request_event .rules:build:enable-gmf-example-test: rules: - <<: *if-label-skip_example_test when: never - <<: *if-label-skip_example when: never - <<: *if-web - <<: *if-protected - <<: *if-merge_request_event .rules:build:enable-gmf-unit-test: rules: - <<: *if-dev-push when: never - <<: *if-label-skip_unit_test when: never - <<: *if-web - <<: *if-protected - <<: *if-trigger - <<: *if-schedule - changes: *patterns-build_components