Mesa (master): gitlab-ci: Automatically run pipelines for Marge Bot pre-merge only

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 1 11:06:24 UTC 2020


Module: Mesa
Branch: master
Commit: 549b4a3dd4abab86f470a13fdd9598e0d6d4776b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=549b4a3dd4abab86f470a13fdd9598e0d6d4776b

Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Jun 29 11:33:13 2020 +0200

gitlab-ci: Automatically run pipelines for Marge Bot pre-merge only

Marge only merges an MR if the pipeline passed. Running the pipeline
again after merging is redundant.

v2:
* Add rule to ensure docker images are up to date in the main project
  registry (Eric Anholt)

Reviewed-by: Eric Anholt <eric at anholt.net>
Acked-by: Daniel Stone <daniels at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5680>

---

 .gitlab-ci.yml | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 04fbe6c0051..efb4972b3ff 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -118,20 +118,27 @@ success:
   extends:
     - .ci-run-policy
   rules:
+    # Run pipeline by default in the main project if any CI pipeline
+    # configuration files were changed, to ensure docker images are up to date
+    - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+      changes:
+      - .gitlab-ci.yml
+      - .gitlab-ci/**/*
+      when: on_success
     # Run pipeline by default if it was triggered by Marge Bot, is for a
-    # merge request, and any files affecting it were changed
-    - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+    # merge request, and any files affecting the pipeline were changed
+    - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_PROJECT_PATH != "mesa/mesa"'
       changes:
         *all_paths
       when: on_success
-    # Run pipeline by default in the main project if any files affecting it were
-    # changed
-    - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+    # Run pipeline by default in the main project if it was not triggered by
+    # Marge Bot, and any files affecting the pipeline were changed
+    - if: '$GITLAB_USER_LOGIN != "marge-bot" && $CI_PROJECT_PATH == "mesa/mesa"'
       changes:
         *all_paths
       when: on_success
-    # Allow triggering jobs manually for MRs or branches of forked projects if
-    # any files affecting the pipeline were changed
+    # Allow triggering jobs manually in other cases if any files affecting the
+    # pipeline were changed
     - changes:
         *all_paths
       when: manual



More information about the mesa-commit mailing list