citemplate: make it so docker builds only run for detached pipelines
authorJordan Petridis <jordan@centricular.com>
Tue, 7 Jul 2020 16:25:19 +0000 (19:25 +0300)
committerJordan Petridis <jpetridis@gnome.org>
Sun, 26 Jul 2020 09:57:43 +0000 (09:57 +0000)
Currently, if you have a MR open, there 2 pipelines being
triggered. One normal, and one detached.

Previously, if you were to rebuild an image, the jobs of the
docker build stage would be executed concurrently, race
and end up both rebuilding the image.

Make them manual for normal pipelines to avoid such occurrence
and waste of resources.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/320>

gitlab/ci_template.yml

index cffaec6..7255cbc 100644 (file)
@@ -195,7 +195,14 @@ default:
 .base:
   image: "$CI_REGISTRY/freedesktop/ci-templates/buildah:2020-03-24"
   rules:
-    - when: 'always'
+    # Always run for detached pipeleines
+    - if: '$CI_MERGE_REQUEST_ID'
+      when: 'always'
+    - if: '$CI_COMMIT_BRANCH == "master"'
+      when: 'always'
+    - if: '$CI_COMMIT_BRANCH == "$GST_UPS_BRANCH"'
+      when: 'always'
+    - when: 'manual'
   variables:
     STORAGE_DRIVER: 'vfs'
     BUILDAH_FORMAT: 'docker'