From ddb9a31b0ead68a005043bf971f6fd24ee816246 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Wed, 20 Mar 2024 14:55:53 -0400
Subject: [PATCH] Split sbbs into sbbs-build that compiles and sbbs that just
 combines.

This will allow sbbs-build to run in parallel with scfg etc.
---
 .gitlab-ci-unix.yml | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci-unix.yml b/.gitlab-ci-unix.yml
index 4dac3f49b5..6d70f6dae8 100644
--- a/.gitlab-ci-unix.yml
+++ b/.gitlab-ci-unix.yml
@@ -315,7 +315,7 @@ spec:
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
 
-"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]":
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]":
   extends:
     - .$[[ inputs.os ]]-build
   script:
@@ -349,6 +349,36 @@ spec:
     - touch umonitor/smblib
     - $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS GIT=NO all
     - $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS jsdoor
+  artifacts:
+    expire_in: 30 mins
+    name: "sbbs-build-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    paths:
+      - "src/sbbs3/*.exe.release/*"
+      - "src/sbbs3/*.lib.release/*"
+      - "src/sbbs3/*/*.exe.release/*"
+  needs:
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [spidermonkey]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sftp]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
+  rules:
+    - if: '"$[[ inputs.no_javascript ]]" == "yes"'
+      when: never
+    - if: '"$[[ inputs.cross_platform ]]" == "yes"'
+      when: never
+    - !reference [.rules, rules]
+
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]":
+  extends:
+    - .$[[ inputs.os ]]-build
+  script:
+    - echo Combining artifacts
   artifacts:
     name: "sbbs-$[[ inputs.os ]]-$[[ inputs.platform ]]"
     paths:
@@ -366,6 +396,7 @@ spec:
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [ciolib]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uifc]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [gitinfo]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [scfg]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uedit]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [umonitor]"
-- 
GitLab