gitlab-ci: do not run full CI on scheduled pipelines
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>
Tue, 7 Jul 2020 13:02:35 +0000 (15:02 +0200)
committerBenjamin Tissoires <benjamin.tissoires@gmail.com>
Thu, 9 Jul 2020 17:27:37 +0000 (19:27 +0200)
Currently, scheduled pipelines are only used to rebuild
the git-cache archive daily. There is no point in rebuilding
eveything, so ensure that any normal jobs are removed from
the scheduled pipelines.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5804>

.gitlab-ci.yml
.gitlab-ci/test-source-dep.yml

index ff6d665b9dda92fb1f9d3e2fb04a9cbebf4bf49f..66357057628c25f5de563d735b1dc838ec6058e7 100644 (file)
@@ -32,6 +32,13 @@ stages:
   - virgl
   - success
 
+# Generic rule to not run the job during scheduled pipelines
+# ----------------------------------------------------------
+.scheduled_pipelines-rules:
+  rules: &ignore_scheduled_pipelines
+    if: '$CI_PIPELINE_SOURCE == "schedule"'
+    when: never
+
 .docs-base:
   extends: .ci-run-policy
   image: alpine
@@ -47,6 +54,7 @@ pages:
     paths:
     - public
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == "master"'
       changes: &docs-or-ci
       - docs/**/*
@@ -58,6 +66,7 @@ test-docs:
   extends: .docs-base
   stage: container+docs
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa"'
       when: never
     - if: '$GITLAB_USER_LOGIN == "marge-bot"'
@@ -70,6 +79,7 @@ test-docs:
 # When to automatically run the CI
 .ci-run-policy:
   rules:
+    - *ignore_scheduled_pipelines
     # If any files affecting the pipeline are changed, build/test jobs run
     # automatically once all dependency jobs have passed
     - changes: &all_paths
@@ -106,6 +116,7 @@ success:
   stage: success
   image: debian:stable-slim
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa"'
       when: never
     - if: '$GITLAB_USER_LOGIN == "marge-bot"'
@@ -152,6 +163,7 @@ success:
   extends:
     - .ci-run-policy
   rules:
+    - *ignore_scheduled_pipelines
     # 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"'
@@ -399,8 +411,9 @@ arm64_test:
 git_archive:
   extends: .fdo.container-build@alpine
   stage: container+docs
-  only:
-    - schedules
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: always
   variables:
     FDO_REPO_SUFFIX: &git-archive-suffix "alpine/git_archive"
     FDO_DISTRIBUTION_EXEC: 'pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366'
@@ -415,8 +428,9 @@ git_archive:
 make git archive:
   stage: git-archive
   extends: .fdo.suffixed-image@alpine
-  only:
-    - schedules
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: on_success
   # ensure we are running on packet
   tags:
     - packet.net
@@ -986,6 +1000,7 @@ virgl-gl32-on-gl:
 # to).
 .test-manual:
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
       changes:
         *all_paths
index 2d621727f488165c768626648c96d1134f4eae2a..93e67ceff0f80adf6da21bde0a53522fade7979c 100644 (file)
       - src/gallium/tests/**/*
       - src/gallium/winsys/*
 
+# Generic rule to not run the job during scheduled pipelines
+# ----------------------------------------------------------
+.scheduled_pipelines-rules:
+  rules: &ignore_scheduled_pipelines
+    if: '$CI_PIPELINE_SOURCE == "schedule"'
+    when: never
+
 .softpipe-rules:
   stage: softpipe
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
@@ -57,6 +65,7 @@
 .llvmpipe-rules:
   stage: llvmpipe
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
@@ -72,6 +81,7 @@
 .freedreno-rules:
   stage: freedreno
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
@@ -88,6 +98,7 @@
 .panfrost-rules:
   stage: panfrost
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
 .lima-rules:
   stage: lima
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
 
 .radv-rules:
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
 .virgl-rules:
   stage: virgl
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success