Mesa (master): gitlab-ci: do not run full CI on scheduled pipelines

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 9 18:22:39 UTC 2020


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

Author: Benjamin Tissoires <benjamin.tissoires at gmail.com>
Date:   Tue Jul  7 15:02:35 2020 +0200

gitlab-ci: do not run full CI on scheduled pipelines

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 at redhat.com>
Acked-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5804>

---

 .gitlab-ci.yml                 | 23 +++++++++++++++++++----
 .gitlab-ci/test-source-dep.yml | 14 ++++++++++++++
 2 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff6d665b9dd..66357057628 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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 at 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 at 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
diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
index 2d621727f48..93e67ceff0f 100644
--- a/.gitlab-ci/test-source-dep.yml
+++ b/.gitlab-ci/test-source-dep.yml
@@ -39,9 +39,17 @@
       - 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
@@ -104,6 +115,7 @@
 .lima-rules:
   stage: lima
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
@@ -119,6 +131,7 @@
 
 .radv-rules:
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success
@@ -131,6 +144,7 @@
 .virgl-rules:
   stage: virgl
   rules:
+    - *ignore_scheduled_pipelines
     - changes:
         *mesa_core_file_list
       when: on_success



More information about the mesa-commit mailing list