Commit 6a871e5d authored by Jan Kiene's avatar Jan Kiene
Browse files

only run build and validation jobs for Draft MR pipelines

parent d28a46ea
Loading
Loading
Loading
Loading
+29 −3
Original line number Diff line number Diff line
@@ -404,9 +404,20 @@ stages:
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-no-draft:
  extends: .rules-basis
  rules:
    - if: $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-to-float-pc:
  extends: .rules-basis
  rules:
    - if: $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "float-pc"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
@@ -820,6 +831,19 @@ branch-is-up-to-date-with-target-post:
        exit 1
      fi

# fail pipeline in the final stage for pipelines on Draft MRs
# this also only runs on Draft MRs, so should always fail
fail-pipeline-if-in-draft:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
  stage: postvalidate
  tags:
    - ivas-linux
  script:
    - echo "Your MR is still in Draft state, set it to ready to be mergable, then retrigger the pipeline."
    - exit 1

# ---------------------------------------------------------------
# verification jobs
@@ -1418,6 +1442,8 @@ be-2-evs-26444:
  extends:
    - .test-job-linux
  rules:
    - if: $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
      when: never
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "evs-26444"
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' (&& $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main-pc" )
  tags:
@@ -1496,7 +1522,7 @@ voip-be-on-merge-request:
codec-smoke-test:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-no-draft
  timeout: "20 minutes"
  tags:
    - ivas-basop-linux
@@ -1747,7 +1773,7 @@ renderer-usan:
renderer-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-float-pc
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
  timeout: "20 minutes"
@@ -1788,7 +1814,7 @@ renderer-pytest-on-merge-request:
ivas-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-float-pc
  stage: compare
  # note: this step doesn't really depend on codec-smoke-test
  # it's just pointless to run this step when the smoke test fails and the smoke test should be reasonably fast