From d764a83cadffb4c90ff3891adc4121006d84e448 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 13 Nov 2023 10:58:23 +0100
Subject: [PATCH] [ci] guix only pipeline.

---
 .gitlab-ci.yml                 |  6 ++++++
 scripts/ci/jobs/build-guix.yml | 11 +++++++++--
 scripts/ci/pipelines/guix.yml  |  3 +++
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 scripts/ci/pipelines/guix.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 589a271c045..e0835946e39 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -39,6 +39,9 @@ workflow:
     - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::win only.*/
       variables:
         PIPELINE_NAME: "win only MR pipeline: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
+    - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::guix only.*/
+      variables:
+        PIPELINE_NAME: "guix only MR pipeline: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
     - if: $CI_MERGE_REQUEST_IID # merge requests
       variables:
         PIPELINE_NAME: "MR pipeline: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
@@ -73,6 +76,9 @@ include:
   - local: "/scripts/ci/pipelines/win.yml"
     rules:
       - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::win only.*/
+  - local: "/scripts/ci/pipelines/guix.yml"
+    rules:
+      - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::guix only.*/
   - local: "/scripts/ci/jobs/build-wheels.yml"
     rules:
       - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::wheels only.*/
diff --git a/scripts/ci/jobs/build-guix.yml b/scripts/ci/jobs/build-guix.yml
index 19bb0146298..46a65fb621f 100644
--- a/scripts/ci/jobs/build-guix.yml
+++ b/scripts/ci/jobs/build-guix.yml
@@ -12,14 +12,21 @@ build guix:
   rules:
     - if: '$CI_COMMIT_BRANCH == "master"'
       allow_failure: true
+    - if: $CI_MERGE_REQUEST_LABELS =~ /.*ci::guix only.*/
     - when: manual
       allow_failure: true
   script:
     - which guix
     - guix describe
     # SteadyStateDiffusion only!
-    - guix build --fallback -L $PWD/.guix/modules ogs-ssd
-    - guix build --fallback -L $PWD/.guix/modules ogs-petsc-ssd
+    - |
+      if [[ "$CI_MERGE_REQUEST_LABELS" =~ .*ci::guix\ only.* ]]; then
+        guix build --fallback -L $PWD/.guix/modules ogs
+        guix build --fallback -L $PWD/.guix/modules ogs-petsc
+      else
+        guix build --fallback -L $PWD/.guix/modules ogs-ssd
+        guix build --fallback -L $PWD/.guix/modules ogs-petsc-ssd
+      fi
 
 deploy guix container eve:
   stage: build
diff --git a/scripts/ci/pipelines/guix.yml b/scripts/ci/pipelines/guix.yml
new file mode 100644
index 00000000000..3ac17534fc0
--- /dev/null
+++ b/scripts/ci/pipelines/guix.yml
@@ -0,0 +1,3 @@
+include:
+  - local: "/scripts/ci/extends/*.yml"
+  - local: "/scripts/ci/jobs/build-guix.yml"
-- 
GitLab