From 7acab2fb119d5b16122f2ff1b0de52748f818864 Mon Sep 17 00:00:00 2001
From: Georg Sauthoff <mail@gms.tf>
Date: Sun, 22 Dec 2024 13:15:48 +0100
Subject: [PATCH] split worflow into scheduled and triggered workflows

and create job matrix for:

- Fedora latest stable
- Fedora Rawhide
- Alma (the RHEL clone of hearts)
---
 .../{e2e-fedora.yml => e2e-base.yml}          | 32 +++++++++++++------
 .github/workflows/e2e-schedule.yml            | 18 +++++++++++
 .github/workflows/e2e-trigger.yml             | 16 ++++++++++
 3 files changed, 57 insertions(+), 9 deletions(-)
 rename .github/workflows/{e2e-fedora.yml => e2e-base.yml} (68%)
 create mode 100644 .github/workflows/e2e-schedule.yml
 create mode 100644 .github/workflows/e2e-trigger.yml

diff --git a/.github/workflows/e2e-fedora.yml b/.github/workflows/e2e-base.yml
similarity index 68%
rename from .github/workflows/e2e-fedora.yml
rename to .github/workflows/e2e-base.yml
index 9120261..7f6cef7 100644
--- a/.github/workflows/e2e-fedora.yml
+++ b/.github/workflows/e2e-base.yml
@@ -1,13 +1,13 @@
 name: e2e-fedora
 run-name: end-to-end test latest Fedora (${{ github.sha }} ${{ github.ref }} ${{ github.actor }})
 on:
-    push:
-    pull_request:
-    schedule:
-        # minute hour dom month dow
-        - cron: '29 22 * * 3'
+    workflow_call:
+        inputs:
+            target:
+                required: true
+                type: string
 jobs:
-    e2e-est-fedora:
+    e2e-test:
         runs-on: ubuntu-latest
         steps:
             - name: Check out repository code
@@ -41,11 +41,25 @@ jobs:
                   fi
                   virsh --connect qemu:///system list --all
             - name: run test
+              env:
+                  target: ${{ inputs.target }}
               run: |
                   cd ..
                   mkdir -p work
                   set -x
                   cd work
-                  ../dracut-sshd/test/get-fedora.sh
-                  ../dracut-sshd/test/e2e.sh $(cat f-release)
-  
+                  case "$target" in
+                      fedora)
+                          ../dracut-sshd/test/get-fedora.sh
+                          ../dracut-sshd/test/e2e.sh $(cat f-release)
+                          ;;
+                      rawhide)
+                          ../dracut-sshd/test/get-fedora.sh rawhide
+                          ../dracut-sshd/test/e2e.sh $(cat f-release)
+                          ;;
+                      alma)
+                          ../dracut-sshd/test/get-alma.sh
+                          ../dracut-sshd/test/e2e.sh $(cat alma-release) alma
+                          ;;
+                  esac
+
diff --git a/.github/workflows/e2e-schedule.yml b/.github/workflows/e2e-schedule.yml
new file mode 100644
index 0000000..503c91f
--- /dev/null
+++ b/.github/workflows/e2e-schedule.yml
@@ -0,0 +1,18 @@
+name: e2e-schedule
+run-name: end-to-end test latest greatest fedora and alma each weak
+on:
+    schedule:
+        # minute hour dom month dow
+        - cron: '29 22 * * 3'
+jobs:
+    e2e-test-schedule:
+        strategy:
+            matrix:
+                target:
+                    - fedora
+                    - rawhide
+                    - alma
+        uses: ./.github/workflows/e2e-base.yml
+        with:
+            target: ${{ matrix.target }}
+
diff --git a/.github/workflows/e2e-trigger.yml b/.github/workflows/e2e-trigger.yml
new file mode 100644
index 0000000..714b140
--- /dev/null
+++ b/.github/workflows/e2e-trigger.yml
@@ -0,0 +1,16 @@
+name: e2e-trigger
+run-name: end-to-end test latest greatest fedora and alma
+on:
+    push:
+    pull_request:
+jobs:
+    e2e-test-schedule:
+        strategy:
+            matrix:
+                target:
+                    - fedora
+                    - rawhide
+                    - alma
+        uses: ./.github/workflows/e2e-base.yml
+        with:
+            target: ${{ matrix.target }}