From 325cede61e9cd597b694fae45fe86ebcc87cf39f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Wed, 7 Feb 2024 18:47:00 -0500
Subject: [PATCH] Add Linux group.

---
 .gitlab-ci-unix.yml | 97 +++++++++++++++++++++++++++++++++++++++++++++
 .gitlab-ci.yml      | 16 +++-----
 2 files changed, 103 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci-unix.yml b/.gitlab-ci-unix.yml
index a4da23981d..d57c558683 100644
--- a/.gitlab-ci-unix.yml
+++ b/.gitlab-ci-unix.yml
@@ -15,6 +15,8 @@ spec:
       default: 'no'
     has_curses:
       default: 'yes'
+    has_gtk:
+      default: 'no'
 ---
 
 ".$[[ inputs.os ]]":
@@ -459,6 +461,101 @@ spec:
   needs:
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
 
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkchat]":
+  extends:
+    - .$[[ inputs.os ]]-build
+  script:
+    - cd src/sbbs3/gtkchat
+    - touch depend
+    - touch xpdev
+    - touch xpdev-mt
+    - touch encode
+    - touch hash
+    - touch smblib
+    - gmake $[[ inputs.build_flags ]] $BUILD_ARGS
+  artifacts:
+    name: "gtkchat-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    paths:
+      - "src/sbbs3/gtkchat/*.exe.release/*"
+  needs:
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [encode]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [hash]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
+  rules:
+    - if: '"$[[ inputs.has_gtk ]]" == "no"'
+      when: never
+    - !reference [.rules, rules]
+
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkmonitor]":
+  extends:
+    - .$[[ inputs.os ]]-build
+  script:
+    - cd src/sbbs3/gtkmonitor
+    - touch depend
+    - touch xpdev
+    - touch xpdev-mt
+    - touch smblib
+    - gmake $[[ inputs.build_flags ]] $BUILD_ARGS
+  artifacts:
+    name: "gtkmonitor-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    paths:
+      - "src/sbbs3/gtkmonitor/*.exe.release/*"
+  needs:
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
+  rules:
+    - if: '"$[[ inputs.has_gtk ]]" == "no"'
+      when: never
+    - !reference [.rules, rules]
+
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkuseredit]":
+  extends:
+    - .$[[ inputs.os ]]-build
+  script:
+    - cd src/sbbs3/gtkuseredit
+    - touch depend
+    - touch xpdev
+    - touch xpdev-mt
+    - touch smblib
+    - gmake $[[ inputs.build_flags ]] $BUILD_ARGS
+  artifacts:
+    name: "gtkuseredit-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    paths:
+      - "src/sbbs3/gtkuseredit/*.exe.release/*"
+  needs:
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
+  rules:
+    - if: '"$[[ inputs.has_gtk ]]" == "no"'
+      when: never
+    - !reference [.rules, rules]
+
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [gtkuserlist]":
+  extends:
+    - .$[[ inputs.os ]]-build
+  script:
+    - cd src/sbbs3/gtkuserlist
+    - touch depend
+    - touch xpdev
+    - touch xpdev-mt
+    - touch smblib
+    - gmake $[[ inputs.build_flags ]] $BUILD_ARGS
+  artifacts:
+    name: "gtkuserlist-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    paths:
+      - "src/sbbs3/gtkuserlist/*.exe.release/*"
+  needs:
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [xpdev]"
+    - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [smblib]"
+  rules:
+    - if: '"$[[ inputs.has_gtk ]]" == "no"'
+      when: never
+    - !reference [.rules, rules]
+
+#########
+# Tests #
+#########
 "js-testsuite [$[[ inputs.os ]]-$[[ inputs.platform ]]]":
   extends:
     - .$[[ inputs.os ]]-test
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 79343b9aa8..bad3460460 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,7 +28,6 @@ include:
       os: 'freebsd'
       platform: 'amd64'
       tagname: 'FreeBSD'
-      build_flags: 'RELEASE=1'
   - local: '.gitlab-ci-unix.yml'
     inputs:
       os: 'mingw32'
@@ -44,15 +43,12 @@ include:
       platform: 'aarch64'
       tagname: 'RaspberryPi'
       no_javascript: 'yes'
-# NOTE: linux-sbbs builds gtkutils, so that would need to be fiddled with
-#  - local: '.gitlab-ci-unix.yml'
-#    inputs:
-#      os: "linux"
-#      platform: "x64"
-#      tagname: "Linux"
-#      cross_platform: "no"
-#      build_flags: "RELEASE=1"
-#      no_javascript: "no"
+  - local: '.gitlab-ci-unix.yml'
+    inputs:
+      os: "linux"
+      platform: "x64"
+      tagname: "Linux"
+      has_gtk: "yes"
 
 sbbs-linux:
   tags: [Linux]
-- 
GitLab