Commit 198e0843 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'ci/minimal-pipeline-for-draft-mrs' into 'float-pc'

[CI] only run build and validation jobs for Draft MR pipelines

See merge request !1163
parents d28a46ea 2679776c
Loading
Loading
Loading
Loading
+30 −12
Original line number Diff line number Diff line
@@ -56,9 +56,6 @@ workflow:
    # see https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
      when: never
    # do not spawn pipelines for Draft MRs, see https://docs.gitlab.com/ee/ci/yaml/workflow.html#skip-pipelines-for-draft-merge-requests
    - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      variables:
        IVAS_PIPELINE_NAME: 'MR pipeline: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME'
@@ -404,9 +401,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 +828,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 +1439,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:
@@ -1469,15 +1492,10 @@ ivas-pytest-renderer:
# Various other tests
# ---------------------------------------------------------------

# TODO: actually run on MR once main problems are fixed
voip-be-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "voip-be-test"
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "float-pc"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - .rules-merge-request-to-float-pc
  stage: test
  needs: ["build-codec-linux-make"]
  timeout: "10 minutes"
@@ -1496,7 +1514,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 +1765,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 +1806,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