variables:
  E2E_TRIGGER:
    value: "false"
    options:
      - "true"
      - "false"
    description: "Enable the e2e pipeline."
  DEPLOYMENT_TRIGGER:
    value: "false"
    options:
      - "true"
      - "false"
    description: "Enable the deployment pipeline."
  COERCE_IMAGE_TRIGGER:
    value: "false"
    options:
      - "true"
      - "false"
    description: "Enable the coerce image pipeline."

include:

  - local: .gitlab/ci/pipelines/e2e.yaml
    rules:
      - if: '$DEPLOYMENT_TRIGGER == "true" || $COERCE_IMAGE_TRIGGER == "true" || $LOCALAZY_TRIGGER == "true" || ($CI_COMMIT_MESSAGE =~ /\[(deploy|image|localazy)\]/ && $CI_PIPELINE_SOURCE =~ /^push$/)'
        when: never
      - if: '$CI_PIPELINE_SOURCE =~ /^(schedule|web)$/ && $E2E_TRIGGER == "true"'
      - if: '$CI_PIPELINE_SOURCE =~ /^(push)$/ && $CI_COMMIT_MESSAGE =~ /\[e2e\]/'

  - local: .gitlab/ci/pipelines/deployment.yaml
    rules:
      - if: '$E2E_TRIGGER == "true" || $COERCE_IMAGE_TRIGGER == "true" || $LOCALAZY_TRIGGER == "true" || ($CI_COMMIT_MESSAGE =~ /\[(e2e|image|localazy)\]/ && $CI_PIPELINE_SOURCE =~ /^push$/)'
        when: never
      - if: '$CI_PIPELINE_SOURCE =~ /^(schedule|web)$/ && $DEPLOYMENT_TRIGGER == "true"'
      - if: '$CI_PIPELINE_SOURCE =~ /^(push)$/ && $CI_COMMIT_MESSAGE =~ /\[deploy\]/'

  - local: .gitlab/ci/pipelines/coerce-gcp-image.yaml
    rules:
      - if: '$DEPLOYMENT_TRIGGER == "true" || $E2E_TRIGGER == "true" || $LOCALAZY_TRIGGER == "true" || ($CI_COMMIT_MESSAGE =~ /\[(e2e|deploy|localazy)\]/ && $CI_PIPELINE_SOURCE =~ /^push$/)'
        when: never
      - if: '$CI_PIPELINE_SOURCE =~ /^(schedule|web)$/ && $COERCE_IMAGE_TRIGGER == "true"'
      - if: '$CI_PIPELINE_SOURCE =~ /^(push)$/ && $CI_COMMIT_MESSAGE =~ /\[image\]/'
