Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
be471401 by Zubin Duggal at 2025-10-08T19:26:13+05:30
wip7
- - - - -
1 changed file:
- .gitlab-ci.yml
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -285,7 +285,13 @@ debug-inputs:
     - echo "CI_COMMIT_BRANCH:" "$CI_COMMIT_BRANCH"
     - echo "Test condition:" "$[[ inputs.full_ci ]]" == "yes"
   rules:
-    - when: always
+    - if: '"$[[ inputs.full_ci ]]" == "yes" && $RELEASE_JOB != "yes" && $NIGHTLY == null && $ONLY_JOBS == null'
+      when: always
+    - if: '"$[[ inputs.full_ci ]]" == "yes"'
+      when: always
+      allow_failure: true
+      variables:
+        DEBUG_MSG: "full_ci=yes but other conditions failed"
 
 # These jobs are generated by running the ./.gitlab/generate_jobs script
 include: '.gitlab/jobs.yaml'
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/be471401270e06ea453ff8faa9f90a0…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/be471401270e06ea453ff8faa9f90a0…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        
Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
edbd15ec by Zubin Duggal at 2025-10-08T19:23:39+05:30
wip6
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -655,7 +655,7 @@ type Var = String
 
 varIsSet :: Var -> Cond
 varIsSet var =
-  Cond $ "($" <> var <> " != null && $" <> var <> " != \"\")"
+  Cond $ "$" <> var
 
 -- | A constant evaluating to True because gitlab doesn't support "true" in the
 -- expression language.
@@ -699,7 +699,7 @@ varNeString var s =
 
 varIsNull :: String -> Cond
 varIsNull var =
-  Cond $ "($" ++ var ++ " == null || $" ++ var ++ " == \"\")"
+  Cond $ "$" ++ var ++ " == null"
 
 ---------------------------------------------------------------------
 -- Our Rules
=====================================
.gitlab/jobs.yaml
=====================================
@@ -37,7 +37,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -103,7 +103,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -166,7 +166,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -228,7 +228,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -290,7 +290,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -352,7 +352,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -433,7 +433,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -514,7 +514,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -577,7 +577,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -639,7 +639,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -701,7 +701,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -768,7 +768,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -832,7 +832,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -895,7 +895,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -958,7 +958,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1021,7 +1021,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1103,7 +1103,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1185,7 +1185,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1249,7 +1249,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1312,7 +1312,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1375,7 +1375,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1445,7 +1445,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1511,7 +1511,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1575,7 +1575,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1639,7 +1639,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1703,7 +1703,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1768,7 +1768,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1833,7 +1833,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1898,7 +1898,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -1961,7 +1961,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2024,7 +2024,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2089,7 +2089,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2155,7 +2155,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2218,7 +2218,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2281,7 +2281,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2344,7 +2344,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2408,7 +2408,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2471,7 +2471,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2536,7 +2536,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2599,7 +2599,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2662,7 +2662,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2725,7 +2725,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2788,7 +2788,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2853,7 +2853,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2916,7 +2916,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -2979,7 +2979,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3042,7 +3042,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3106,7 +3106,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3169,7 +3169,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3232,7 +3232,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3295,7 +3295,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3358,7 +3358,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3421,7 +3421,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3484,7 +3484,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3549,7 +3549,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3608,7 +3608,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3671,7 +3671,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
         "when": "on_success"
       }
     ],
@@ -3738,7 +3738,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -3806,7 +3806,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -3871,7 +3871,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -3935,7 +3935,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -3999,7 +3999,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4064,7 +4064,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4128,7 +4128,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4192,7 +4192,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4263,7 +4263,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4330,7 +4330,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4395,7 +4395,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4460,7 +4460,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4525,7 +4525,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4589,7 +4589,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4653,7 +4653,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4717,7 +4717,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4781,7 +4781,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4845,7 +4845,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4909,7 +4909,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -4973,7 +4973,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5038,7 +5038,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5102,7 +5102,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5166,7 +5166,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5230,7 +5230,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5294,7 +5294,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5354,7 +5354,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5418,7 +5418,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5486,7 +5486,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5555,7 +5555,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5620,7 +5620,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5683,7 +5683,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5746,7 +5746,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5809,7 +5809,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -5874,7 +5874,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "manual"
       }
     ],
@@ -5939,7 +5939,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "manual"
       }
     ],
@@ -6003,7 +6003,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6065,7 +6065,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6127,7 +6127,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6191,7 +6191,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6256,7 +6256,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6318,7 +6318,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6381,7 +6381,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "manual"
       }
     ],
@@ -6443,7 +6443,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6506,7 +6506,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6568,7 +6568,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6632,7 +6632,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6694,7 +6694,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6756,7 +6756,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6818,7 +6818,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -6881,7 +6881,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "manual"
       }
     ],
@@ -6945,7 +6945,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7007,7 +7007,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7069,7 +7069,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7131,7 +7131,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7194,7 +7194,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7256,7 +7256,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7318,7 +7318,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7380,7 +7380,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7442,7 +7442,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7504,7 +7504,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7566,7 +7566,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7630,7 +7630,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7688,7 +7688,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
@@ -7750,7 +7750,7 @@
     ],
     "rules": [
       {
-        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
         "when": "on_success"
       }
     ],
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/edbd15ecbe6e9597ac71a8d99dad447…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/edbd15ecbe6e9597ac71a8d99dad447…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        
Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
46dce461 by Zubin Duggal at 2025-10-08T19:20:17+05:30
wip5
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -655,7 +655,7 @@ type Var = String
 
 varIsSet :: Var -> Cond
 varIsSet var =
-  Cond $ "$" <> var
+  Cond $ "($" <> var <> " != null && $" <> var <> " != \"\")"
 
 -- | A constant evaluating to True because gitlab doesn't support "true" in the
 -- expression language.
=====================================
.gitlab/jobs.yaml
=====================================
@@ -37,7 +37,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -103,7 +103,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -166,7 +166,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -228,7 +228,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -290,7 +290,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -352,7 +352,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -433,7 +433,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -514,7 +514,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -577,7 +577,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -639,7 +639,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -701,7 +701,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -768,7 +768,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -832,7 +832,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -895,7 +895,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -958,7 +958,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1021,7 +1021,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1103,7 +1103,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1185,7 +1185,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1249,7 +1249,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1312,7 +1312,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1375,7 +1375,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1445,7 +1445,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1511,7 +1511,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1575,7 +1575,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1639,7 +1639,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1703,7 +1703,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1768,7 +1768,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1833,7 +1833,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1898,7 +1898,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -1961,7 +1961,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2024,7 +2024,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2089,7 +2089,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2155,7 +2155,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2218,7 +2218,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2281,7 +2281,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2344,7 +2344,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2408,7 +2408,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2471,7 +2471,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2536,7 +2536,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2599,7 +2599,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2662,7 +2662,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2725,7 +2725,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2788,7 +2788,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2853,7 +2853,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2916,7 +2916,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -2979,7 +2979,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3042,7 +3042,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3106,7 +3106,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3169,7 +3169,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3232,7 +3232,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3295,7 +3295,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3358,7 +3358,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3421,7 +3421,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3484,7 +3484,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3549,7 +3549,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3608,7 +3608,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -3671,7 +3671,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && (($NIGHTLY != null && $NIGHTLY != \"\"))",
         "when": "on_success"
       }
     ],
@@ -5486,7 +5486,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5555,7 +5555,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5620,7 +5620,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5683,7 +5683,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5746,7 +5746,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5809,7 +5809,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5874,7 +5874,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -5939,7 +5939,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6003,7 +6003,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6065,7 +6065,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6127,7 +6127,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6191,7 +6191,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6256,7 +6256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6318,7 +6318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6381,7 +6381,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6443,7 +6443,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6506,7 +6506,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6568,7 +6568,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6632,7 +6632,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6694,7 +6694,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6756,7 +6756,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6818,7 +6818,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6881,7 +6881,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6945,7 +6945,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7007,7 +7007,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7069,7 +7069,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7131,7 +7131,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7194,7 +7194,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7256,7 +7256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7318,7 +7318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7380,7 +7380,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7442,7 +7442,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7504,7 +7504,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7566,7 +7566,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7630,7 +7630,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7688,7 +7688,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7750,7 +7750,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
+        "if": "(((($ONLY_JOBS != null && $ONLY_JOBS != \"\")) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/46dce461e53c0601a05bc2faf002439…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/46dce461e53c0601a05bc2faf002439…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        
Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
56bf66c3 by Zubin Duggal at 2025-10-08T19:18:20+05:30
wip4
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -699,9 +699,7 @@ varNeString var s =
 
 varIsNull :: String -> Cond
 varIsNull var =
-  parens $ or_all [ Cond $ "$" ++ var ++ " == null"
-                  , Cond $ "$" ++ var ++ " == \"\""
-                  ]
+  Cond $ "($" ++ var ++ " == null || $" ++ var ++ " == \"\")"
 
 ---------------------------------------------------------------------
 -- Our Rules
=====================================
.gitlab/jobs.yaml
=====================================
@@ -37,7 +37,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -103,7 +103,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -166,7 +166,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -228,7 +228,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -290,7 +290,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -352,7 +352,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -433,7 +433,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -514,7 +514,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -577,7 +577,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -639,7 +639,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3738,7 +3738,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3806,7 +3806,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3871,7 +3871,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3935,7 +3935,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3999,7 +3999,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4064,7 +4064,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4128,7 +4128,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4192,7 +4192,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4263,7 +4263,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4330,7 +4330,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4395,7 +4395,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4460,7 +4460,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4525,7 +4525,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4589,7 +4589,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4653,7 +4653,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4717,7 +4717,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4781,7 +4781,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4845,7 +4845,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4909,7 +4909,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4973,7 +4973,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5038,7 +5038,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5102,7 +5102,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5166,7 +5166,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5230,7 +5230,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5294,7 +5294,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5354,7 +5354,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5418,7 +5418,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5486,7 +5486,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5555,7 +5555,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5620,7 +5620,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5683,7 +5683,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5746,7 +5746,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5809,7 +5809,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5874,7 +5874,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -5939,7 +5939,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6003,7 +6003,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6065,7 +6065,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6127,7 +6127,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6191,7 +6191,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6256,7 +6256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6318,7 +6318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6381,7 +6381,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6443,7 +6443,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6506,7 +6506,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6568,7 +6568,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6632,7 +6632,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6694,7 +6694,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6756,7 +6756,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6818,7 +6818,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6881,7 +6881,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6945,7 +6945,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7007,7 +7007,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7069,7 +7069,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7131,7 +7131,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7194,7 +7194,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7256,7 +7256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7318,7 +7318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7380,7 +7380,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7442,7 +7442,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7504,7 +7504,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7566,7 +7566,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7630,7 +7630,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7688,7 +7688,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7750,7 +7750,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null || $ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null || $NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/56bf66c3c33229aa90fb19f554170b6…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/56bf66c3c33229aa90fb19f554170b6…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        
Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
93d53637 by Zubin Duggal at 2025-10-08T19:16:29+05:30
wip3
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -699,9 +699,9 @@ varNeString var s =
 
 varIsNull :: String -> Cond
 varIsNull var =
-  or_all [ Cond $ "$" ++ var ++ " == null"
-         , Cond $ "$" ++ var ++ " == \"\""
-         ]
+  parens $ or_all [ Cond $ "$" ++ var ++ " == null"
+                  , Cond $ "$" ++ var ++ " == \"\""
+                  ]
 
 ---------------------------------------------------------------------
 -- Our Rules
=====================================
.gitlab/jobs.yaml
=====================================
@@ -37,7 +37,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -103,7 +103,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -166,7 +166,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -228,7 +228,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -290,7 +290,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -352,7 +352,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -433,7 +433,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -514,7 +514,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -577,7 +577,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -639,7 +639,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -3738,7 +3738,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -3806,7 +3806,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -3871,7 +3871,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -3935,7 +3935,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -3999,7 +3999,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4064,7 +4064,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4128,7 +4128,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4192,7 +4192,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4263,7 +4263,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4330,7 +4330,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4395,7 +4395,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4460,7 +4460,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4525,7 +4525,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4589,7 +4589,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4653,7 +4653,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4717,7 +4717,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4781,7 +4781,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4845,7 +4845,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4909,7 +4909,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -4973,7 +4973,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5038,7 +5038,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5102,7 +5102,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5166,7 +5166,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5230,7 +5230,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5294,7 +5294,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5354,7 +5354,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5418,7 +5418,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5486,7 +5486,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5555,7 +5555,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5620,7 +5620,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5683,7 +5683,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5746,7 +5746,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5809,7 +5809,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -5874,7 +5874,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "manual"
       }
     ],
@@ -5939,7 +5939,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "manual"
       }
     ],
@@ -6003,7 +6003,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6065,7 +6065,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6127,7 +6127,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6191,7 +6191,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6256,7 +6256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6318,7 +6318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6381,7 +6381,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "manual"
       }
     ],
@@ -6443,7 +6443,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6506,7 +6506,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6568,7 +6568,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6632,7 +6632,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6694,7 +6694,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6756,7 +6756,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6818,7 +6818,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -6881,7 +6881,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "manual"
       }
     ],
@@ -6945,7 +6945,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7007,7 +7007,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7069,7 +7069,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7131,7 +7131,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7194,7 +7194,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7256,7 +7256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7318,7 +7318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7380,7 +7380,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7442,7 +7442,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7504,7 +7504,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7566,7 +7566,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7630,7 +7630,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7688,7 +7688,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
@@ -7750,7 +7750,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || (((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\"))) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ((($NIGHTLY == null) || ($NIGHTLY == \"\")))",
         "when": "on_success"
       }
     ],
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/93d536378c8f5fa5436ffd02d26f784…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/93d536378c8f5fa5436ffd02d26f784…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        
Zubin pushed to branch wip/gitlab-inputs at Glasgow Haskell Compiler / GHC
Commits:
e218cfc7 by Zubin Duggal at 2025-10-08T19:14:55+05:30
wip2
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -699,7 +699,9 @@ varNeString var s =
 
 varIsNull :: String -> Cond
 varIsNull var =
-  Cond $ "$" ++ var ++ " == null"
+  or_all [ Cond $ "$" ++ var ++ " == null"
+         , Cond $ "$" ++ var ++ " == \"\""
+         ]
 
 ---------------------------------------------------------------------
 -- Our Rules
=====================================
.gitlab/jobs.yaml
=====================================
@@ -37,7 +37,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -103,7 +103,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -166,7 +166,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -228,7 +228,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -290,7 +290,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -352,7 +352,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -433,7 +433,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -514,7 +514,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -577,7 +577,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -639,7 +639,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.i386 ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*i386.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3738,7 +3738,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3806,7 +3806,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3871,7 +3871,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3935,7 +3935,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -3999,7 +3999,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4064,7 +4064,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4128,7 +4128,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4192,7 +4192,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4263,7 +4263,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4330,7 +4330,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4395,7 +4395,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4460,7 +4460,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4525,7 +4525,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4589,7 +4589,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4653,7 +4653,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4717,7 +4717,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4781,7 +4781,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4845,7 +4845,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4909,7 +4909,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -4973,7 +4973,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5038,7 +5038,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5102,7 +5102,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5166,7 +5166,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5230,7 +5230,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5294,7 +5294,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5354,7 +5354,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5418,7 +5418,7 @@
     ],
     "rules": [
       {
-        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5486,7 +5486,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-darwin-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5555,7 +5555,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-freebsd14-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.freebsd ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*FreeBSD.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5620,7 +5620,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5683,7 +5683,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5746,7 +5746,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5809,7 +5809,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -5874,7 +5874,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -5939,7 +5939,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.wasm ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6003,7 +6003,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6065,7 +6065,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb10-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6127,7 +6127,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6191,7 +6191,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.javascript ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6256,7 +6256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6318,7 +6318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6381,7 +6381,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-no_tntc-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6443,7 +6443,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-numa-slow-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6506,7 +6506,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6568,7 +6568,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.riscv ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6632,7 +6632,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-unreg-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6694,7 +6694,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.test_primops ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*test-primops.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6756,7 +6756,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+boot_nonmoving_gc(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.nonmoving_gc ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6818,7 +6818,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+llvm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.llvm_backend ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -6881,7 +6881,7 @@
     "rules": [
       {
         "allow_failure": true,
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-validate\\+thread_sanitizer_cmm(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "manual"
       }
     ],
@@ -6945,7 +6945,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-zstd-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (((\"$[[ inputs.ipe ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7007,7 +7007,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb9-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7069,7 +7069,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7131,7 +7131,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7194,7 +7194,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7256,7 +7256,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7318,7 +7318,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-rocky8-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7380,7 +7380,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu18_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7442,7 +7442,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu20_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7504,7 +7504,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu22_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7566,7 +7566,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((((\"$[[ inputs.full_ci ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ((\"$[[ inputs.loongarch ]]\" == \"yes\") || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/))))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7630,7 +7630,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7688,7 +7688,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-int_native-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
@@ -7750,7 +7750,7 @@
     ],
     "rules": [
       {
-        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-windows-validate(\\s|$).*/)) || ((($ONLY_JOBS == null) || ($ONLY_JOBS == \"\")) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && (($NIGHTLY == null) || ($NIGHTLY == \"\"))",
         "when": "on_success"
       }
     ],
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/e218cfc72612ad92e531e2578580824…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/e218cfc72612ad92e531e2578580824…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [Git][ghc/ghc][wip/marge_bot_batch_merge_job] 8 commits: T22033 is only relevant if the word size is 64-bit
                        
                        
by Marge Bot (@marge-bot) 08 Oct '25
                    by Marge Bot (@marge-bot) 08 Oct '25
08 Oct '25
                    
                        
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
f7adfed2 by ARATA Mizuki at 2025-10-08T08:37:24-04:00
T22033 is only relevant if the word size is 64-bit
Fixes #25497
- - - - -
ff1650c9 by Ben Gamari at 2025-10-08T08:38:07-04:00
rts/posix: Enforce iteration limit on heap reservation logic
Previously we could loop indefinitely when attempting to get an address
space reservation for our heap. Limit the logic to 8 iterations to
ensure we instead issue a reasonable error message.
Addresses #26151.
- - - - -
01844557 by Ben Gamari at 2025-10-08T08:38:07-04:00
rts/posix: Hold on to low reservations when reserving heap
Previously when the OS gave us an address space reservation in low
memory we would immediately release it and try again. However, on some
platforms this meant that we would get the same allocation again in the
next iteration (since mmap's `hint` argument is just that, a hint).
Instead we now hold on to low reservations until we have found a
suitable heap reservation.
Fixes #26151.
- - - - -
b2c8d052 by Sven Tennie at 2025-10-08T08:38:47-04:00
Build terminfo only in upper stages in cross-builds (#26288)
Currently, there's no way to provide library paths for [n]curses for
both - build and target - in cross-builds. As stage0 is only used to
build upper stages, it should be fine to build terminfo only for them.
This re-enables building cross-compilers with terminfo.
- - - - -
c58f9a61 by Julian Ospald at 2025-10-08T08:39:36-04:00
ghc-toolchain: Drop `ld.gold` from merge object command
It's deprecated.
Also see #25716
- - - - -
7e50c30c by sheaf at 2025-10-08T09:12:53-04:00
Improvements to 'mayLookIdentical'
This commit makes significant improvements to the machinery that decides
when we should pretty-print the "invisible bits" of a type, such as:
  - kind applications, e.g. '@k' in 'Proxy @k ty'
  - RuntimeReps, e.g. 'TYPE r'
  - multiplicities and linear arrows 'a %1 -> b'
To do this, this commit refactors 'mayLookIdentical' to return **which**
of the invisible bits don't match up, e.g. in
  (a %1 -> b) ~ (a %Many -> b)
we find that the invisible bit that doesn't match up is a multiplicity,
so we should set 'sdocLinearTypes = True' when pretty-printing, and with
e.g.
  Proxy @k1 ~ Proxy @k2
we find that the invisible bit that doesn't match up is an invisible
TyCon argument, so we set 'sdocPrintExplicitKinds = True'.
We leverage these changes to remove the ad-hoc treatment of linearity
of data constructors with 'dataConDisplayType' and 'dataConNonLinearType'.
This is now handled by the machinery of 'pprWithInvisibleBits'.
Fixes #26335 #26340
- - - - -
d1316ecd by sheaf at 2025-10-08T09:12:53-04:00
Store SDoc context in SourceError
This commits modifies the SourceError datatype which is used for
throwing and then reporting exceptions by storing all the info we need
to be able to print the SDoc, including whether we should print with
explicit kinds, explicit runtime-reps, etc.
This is done using the new datatype:
  data SourceErrorContext
    = SEC
        !DiagOpts
        !(DiagnosticOpts GhcMessage)
Now, when we come to report an error (by handling the exception), we
have access to the full context we need.
Fixes #26387
- - - - -
62d57941 by Ben Gamari at 2025-10-08T09:12:54-04:00
gitlab-ci: Make RELEASE_JOB an input
Rather than an undocumented variable.
- - - - -
76 changed files:
- .gitlab-ci.yml
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC.hs
- compiler/GHC/Core/Multiplicity.hs
- compiler/GHC/Core/TyCo/Compare.hs
- compiler/GHC/Core/TyCo/Ppr.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/Downsweep.hs
- compiler/GHC/Driver/Env/Types.hs
- compiler/GHC/Driver/Errors.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/MakeFile.hs
- compiler/GHC/Driver/Monad.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/Iface/Decl.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/Iface/Make.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/Parser/Header.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Tc/Module.hs
- compiler/GHC/Tc/Solver/Equality.hs
- compiler/GHC/Tc/TyCl.hs
- compiler/GHC/Tc/Types/CtLoc.hs
- compiler/GHC/Tc/Types/Origin.hs
- compiler/GHC/Tc/Utils/TcMType.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Tc/Utils/Unify.hs
- compiler/GHC/Tc/Utils/Unify.hs-boot
- compiler/GHC/Types/SourceError.hs
- compiler/GHC/Types/TyThing/Ppr.hs
- compiler/GHC/Utils/Error.hs
- compiler/GHC/Utils/Outputable.hs
- ghc/GHCi/UI.hs
- hadrian/src/Settings/Default.hs
- rts/posix/OSMem.c
- testsuite/tests/cpranal/should_compile/T18174.stderr
- testsuite/tests/driver/T11429c.stderr
- testsuite/tests/driver/T21682.stderr
- testsuite/tests/ghc-api/T10942.hs
- testsuite/tests/ghc-api/annotations-literals/literals.hs
- testsuite/tests/indexed-types/should_fail/T14887.stderr
- testsuite/tests/linear/should_fail/T19361.stderr
- testsuite/tests/llvm/should_run/all.T
- testsuite/tests/roles/should_compile/Roles13.stderr
- testsuite/tests/simplCore/should_compile/OpaqueNoCastWW.stderr
- testsuite/tests/simplCore/should_compile/T17673.stderr
- testsuite/tests/simplCore/should_compile/T18078.stderr
- testsuite/tests/simplCore/should_compile/T18995.stderr
- testsuite/tests/simplCore/should_compile/T19890.stderr
- testsuite/tests/simplCore/should_compile/T21948.stderr
- testsuite/tests/simplCore/should_compile/T21960.stderr
- testsuite/tests/simplCore/should_compile/T24808.stderr
- − testsuite/tests/simplCore/should_compile/T25713.stderr
- testsuite/tests/simplCore/should_compile/T4201.stdout
- testsuite/tests/simplCore/should_compile/T8331.stderr
- testsuite/tests/typecheck/no_skolem_info/T20232.stderr
- testsuite/tests/typecheck/should_fail/T11672.stderr
- testsuite/tests/typecheck/should_fail/T12373.stderr
- testsuite/tests/typecheck/should_fail/T15807.stderr
- testsuite/tests/typecheck/should_fail/T16074.stderr
- testsuite/tests/typecheck/should_fail/T18357a.stderr
- testsuite/tests/typecheck/should_fail/T19627.stderr
- testsuite/tests/typecheck/should_fail/T21530a.stderr
- testsuite/tests/typecheck/should_fail/VisFlag1.stderr
- utils/check-exact/Parsers.hs
- utils/check-exact/Preprocess.hs
- utils/ghc-toolchain/src/GHC/Toolchain/Tools/MergeObjs.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b6bbcd377a04fef81f0e933afbde3e…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b6bbcd377a04fef81f0e933afbde3e…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [Git][ghc/ghc][master] ghc-toolchain: Drop `ld.gold` from merge object command
                        
                        
by Marge Bot (@marge-bot) 08 Oct '25
                    by Marge Bot (@marge-bot) 08 Oct '25
08 Oct '25
                    
                        
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
c58f9a61 by Julian Ospald at 2025-10-08T08:39:36-04:00
ghc-toolchain: Drop `ld.gold` from merge object command
It's deprecated.
Also see #25716
- - - - -
1 changed file:
- utils/ghc-toolchain/src/GHC/Toolchain/Tools/MergeObjs.hs
Changes:
=====================================
utils/ghc-toolchain/src/GHC/Toolchain/Tools/MergeObjs.hs
=====================================
@@ -22,7 +22,7 @@ data MergeObjs = MergeObjs { mergeObjsProgram :: Program
 
 findMergeObjs :: ProgOpt -> Cc -> CcLink -> Nm -> M MergeObjs
 findMergeObjs progOpt cc ccLink nm = checking "for linker for merging objects" $ do
-    prog <- findProgram "linker for merging objects" progOpt ["ld.gold", "ld"]
+    prog <- findProgram "linker for merging objects" progOpt ["ld"]
     let mo = prog & _prgFlags %++ "-r"
     checkMergingWorks cc nm mo
     checkForGoldT22266 cc ccLink mo
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c58f9a615f05e9d43629f6e846ae22c…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c58f9a615f05e9d43629f6e846ae22c…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [Git][ghc/ghc][master] Build terminfo only in upper stages in cross-builds (#26288)
                        
                        
by Marge Bot (@marge-bot) 08 Oct '25
                    by Marge Bot (@marge-bot) 08 Oct '25
08 Oct '25
                    
                        
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
b2c8d052 by Sven Tennie at 2025-10-08T08:38:47-04:00
Build terminfo only in upper stages in cross-builds (#26288)
Currently, there's no way to provide library paths for [n]curses for
both - build and target - in cross-builds. As stage0 is only used to
build upper stages, it should be fine to build terminfo only for them.
This re-enables building cross-compilers with terminfo.
- - - - -
1 changed file:
- hadrian/src/Settings/Default.hs
Changes:
=====================================
hadrian/src/Settings/Default.hs
=====================================
@@ -80,7 +80,6 @@ stageBootPackages = return
 stage0Packages :: Action [Package]
 stage0Packages = do
     cross <- flag CrossCompiling
-    haveCurses <- any (/= "") <$> traverse setting [ CursesIncludeDir, CursesLibDir ]
     return $ [ cabalSyntax
              , cabal
              , compiler
@@ -116,7 +115,11 @@ stage0Packages = do
              -- that confused Hadrian, so we must make those a stage0 package as well.
              -- Once we drop `Win32`/`unix` it should be possible to drop those too.
              ]
-          ++ [ terminfo | not windowsHost, (not cross || haveCurses) ]
+          -- Currently, we have no way to provide paths to [n]curses libs for
+          -- both - build and target - in cross builds. Thus, we only build it
+          -- for upper stages. As we only use stage0 to build upper stages,
+          -- this should be fine.
+          ++ [ terminfo | not windowsHost, not cross ]
           ++ [ timeout  | windowsHost                                ]
 
 -- | Packages built in 'Stage1' by default. You can change this in "UserSettings".
@@ -136,6 +139,7 @@ stage1Packages = do
     libraries0 <- filter good_stage0_package <$> stage0Packages
     cross      <- flag CrossCompiling
     winTarget  <- isWinTarget
+    haveCurses <- any (/= "") <$> traverse setting [ CursesIncludeDir, CursesLibDir ]
 
     let when c xs = if c then xs else mempty
 
@@ -185,6 +189,10 @@ stage1Packages = do
         [ -- See Note [Hadrian's ghci-wrapper package]
           ghciWrapper
         ]
+      , when (cross && haveCurses)
+        [
+          terminfo
+        ]
       ]
 
 -- | Packages built in 'Stage2' by default. You can change this in "UserSettings".
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/b2c8d0523e9977018c8837040169194…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/b2c8d0523e9977018c8837040169194…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [Git][ghc/ghc][master] 2 commits: rts/posix: Enforce iteration limit on heap reservation logic
                        
                        
by Marge Bot (@marge-bot) 08 Oct '25
                    by Marge Bot (@marge-bot) 08 Oct '25
08 Oct '25
                    
                        
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
ff1650c9 by Ben Gamari at 2025-10-08T08:38:07-04:00
rts/posix: Enforce iteration limit on heap reservation logic
Previously we could loop indefinitely when attempting to get an address
space reservation for our heap. Limit the logic to 8 iterations to
ensure we instead issue a reasonable error message.
Addresses #26151.
- - - - -
01844557 by Ben Gamari at 2025-10-08T08:38:07-04:00
rts/posix: Hold on to low reservations when reserving heap
Previously when the OS gave us an address space reservation in low
memory we would immediately release it and try again. However, on some
platforms this meant that we would get the same allocation again in the
next iteration (since mmap's `hint` argument is just that, a hint).
Instead we now hold on to low reservations until we have found a
suitable heap reservation.
Fixes #26151.
- - - - -
1 changed file:
- rts/posix/OSMem.c
Changes:
=====================================
rts/posix/OSMem.c
=====================================
@@ -585,8 +585,14 @@ void *osReserveHeapMemory(void *startAddressPtr, W_ *len)
     }
 #endif
 
+    const int MAX_ATTEMPTS = 256;
+    void *bad_allocs[MAX_ATTEMPTS];
+    size_t bad_alloc_lens[MAX_ATTEMPTS];
+    memset(bad_allocs, 0, sizeof(void*) * MAX_ATTEMPTS);
+    memset(bad_alloc_lens, 0, sizeof(size_t) * MAX_ATTEMPTS);
+
     attempt = 0;
-    while (1) {
+    while (attempt < MAX_ATTEMPTS) {
         *len &= ~MBLOCK_MASK;
 
         if (*len < MBLOCK_SIZE) {
@@ -611,18 +617,35 @@ void *osReserveHeapMemory(void *startAddressPtr, W_ *len)
         } else if ((W_)at >= minimumAddress) {
             // Success! We were given a block of memory starting above the 8 GB
             // mark, which is what we were looking for.
-
             break;
         } else {
             // We got addressing space but it wasn't above the 8GB mark.
-            // Try again.
-            if (munmap(at, *len) < 0) {
-                sysErrorBelch("unable to release reserved heap");
+            // Free any portion *above* 8GB and hang on to the rest to increase
+            // the likelihood that we get a suitable allocation next iteration.
+            uintptr_t end = (W_) at + *len;
+            bad_allocs[attempt] = at;
+            if (end > minimumAddress) {
+                if (munmap((void *) minimumAddress, end - minimumAddress) < 0) {
+                    sysErrorBelch("unable to release high portion of low memory reservation");
+                }
+                bad_alloc_lens[attempt] = minimumAddress - (W_) at;
+            } else {
+                bad_alloc_lens[attempt] = *len;
             }
         }
         attempt++;
     }
 
+    for (int i=0; i < MAX_ATTEMPTS; i++) {
+        if (bad_allocs[i] != NULL && munmap(bad_allocs[i], bad_alloc_lens[i]) < 0) {
+            sysErrorBelch("unable to release reserved heap");
+        }
+    }
+
+    if (at == NULL) {
+        sysErrorBelch("failed to reserve heap memory");
+    }
+
     return at;
 }
 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f7adfed2e011290abc8f20ce820261…
-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f7adfed2e011290abc8f20ce820261…
You're receiving this email because of your account on gitlab.haskell.org.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0