From fc10626cf626963afee915b1fa09d766d6bc0976 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Sat, 18 Jan 2025 13:39:43 +0000
Subject: [PATCH] feat: run benchmarks as soon as default or nightly build
 completes

---
 .gitlab-ci.yml | 49 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c3a75f8b8..e309edfd2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -510,9 +510,19 @@ jug_xl:singularity:nightly:
     - version
     - eic
 
-
 .benchmarks:
   stage: benchmarks
+  variables:
+    DETECTOR: "epic"
+    DETECTOR_CONFIG: epic_craterlake
+    DETECTOR_REPOSITORYURL: 'https://github.com/eic/epic.git'
+    BENCHMARKS_CONTAINER: "eic_xl"
+    BENCHMARKS_REGISTRY: "$CI_REGISTRY_IMAGE"
+    PIPELINE_NAME: "eic_container: $CI_PIPELINE_NAME"
+  allow_failure: false
+
+.benchmarks:default:
+  extends: .benchmarks
   needs: 
     - job: version
     - job: eic
@@ -520,6 +530,21 @@ jug_xl:singularity:nightly:
         matrix:
           - BUILD_TYPE:
             - default
+            BUILDER_IMAGE: debian_stable_base
+            RUNTIME_IMAGE: debian_stable_base
+            BUILD_IMAGE: eic_
+            PLATFORM: linux/amd64
+            ENV:
+            - xl
+
+.benchmarks:nightly:
+  extends: .benchmarks
+  needs: 
+    - job: version
+    - job: eic
+      parallel:
+        matrix:
+          - BUILD_TYPE:
             - nightly
             BUILDER_IMAGE: debian_stable_base
             RUNTIME_IMAGE: debian_stable_base
@@ -527,17 +552,9 @@ jug_xl:singularity:nightly:
             PLATFORM: linux/amd64
             ENV:
             - xl
-  variables:
-    DETECTOR: "epic"
-    DETECTOR_CONFIG: epic_craterlake
-    DETECTOR_REPOSITORYURL: 'https://github.com/eic/epic.git'
-    BENCHMARKS_CONTAINER: "eic_xl"
-    BENCHMARKS_REGISTRY: "$CI_REGISTRY_IMAGE"
-    PIPELINE_NAME: "eic_container: $CI_PIPELINE_NAME"
-  allow_failure: false
 
 benchmarks:geoviewer:default:
-  extends: .benchmarks
+  extends: .benchmarks:default
   rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $EPIC_VERSION != ""'
   variables:
@@ -547,7 +564,7 @@ benchmarks:geoviewer:default:
     strategy: depend
 
 benchmarks:detector:default:
-  extends: .benchmarks
+  extends: .benchmarks:default
   rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
   variables:
@@ -557,7 +574,7 @@ benchmarks:detector:default:
     strategy: depend
   
 benchmarks:detector:nightly:
-  extends: .benchmarks
+  extends: .benchmarks:nightly
   rules:
     - if: '$CI_PIPELINE_SOURCE != "schedule"'
     - !reference ['.nightly', rules]
@@ -568,7 +585,7 @@ benchmarks:detector:nightly:
     strategy: depend
 
 benchmarks:phyiscs:default:
-  extends: .benchmarks
+  extends: .benchmarks:default
   rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
   variables:
@@ -578,7 +595,7 @@ benchmarks:phyiscs:default:
     strategy: depend
 
 benchmarks:physics:nightly:
-  extends: .benchmarks
+  extends: .benchmarks:nightly
   rules:
     - if: '$CI_PIPELINE_SOURCE != "schedule"'
     - !reference ['.nightly', rules]
@@ -589,7 +606,7 @@ benchmarks:physics:nightly:
     strategy: depend
 
 benchmarks:reconstruction:default:
-  extends: .benchmarks
+  extends: .benchmarks:default
   rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
   variables:
@@ -599,7 +616,7 @@ benchmarks:reconstruction:default:
     strategy: depend
 
 benchmarks:reconstruction:nightly:
-  extends: .benchmarks
+  extends: .benchmarks:nightly
   rules:
     - if: '$CI_PIPELINE_SOURCE != "schedule"'
     - !reference ['.nightly', rules]
-- 
GitLab