diff --git a/.gitlab-ci-unix.yml b/.gitlab-ci-unix.yml
index 6d70f6dae8def56f605720f1582ba06cf875abcc..cad7875d41d17dc948c9c7a827ca1b88dcafbc6d 100644
--- a/.gitlab-ci-unix.yml
+++ b/.gitlab-ci-unix.yml
@@ -348,7 +348,6 @@ spec:
     - touch umonitor/xpdev-mt
     - 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 ]]"
@@ -374,28 +373,73 @@ spec:
       when: never
     - !reference [.rules, rules]
 
-"$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]":
+"$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]":
   extends:
     - .$[[ inputs.os ]]-build
   script:
-    - echo Combining artifacts
+    - cd src/sbbs3
+    - touch depend
+    - touch xpdev
+    - touch xpdev-mt
+    - touch smblib
+    - touch uifc
+    - touch uifc-mt
+    - touch ciolib-mt
+    - touch encode
+    - touch hash
+    - touch smblib
+    - touch cl
+    - touch scfg/xpdev-mt
+    - touch scfg/uifc-mt
+    - touch scfg/ciolib-mt
+    - touch scfg/smblib
+    - touch scfg/encode
+    - touch scfg/hash
+    - touch scfg/cl
+    - touch uedit/smblib
+    - touch uedit/uifc-mt
+    - touch uedit/ciolib-mt
+    - touch uedit/xpdev-mt
+    - touch umonitor/ciolib-mt
+    - touch umonitor/uifc-mt
+    - touch umonitor/xpdev-mt
+    - touch umonitor/smblib
+    - $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS jsdoor
   artifacts:
-    name: "sbbs-$[[ inputs.os ]]-$[[ inputs.platform ]]"
+    expire_in: 30 mins
+    name: "jsdoor-$[[ inputs.os ]]-$[[ inputs.platform ]]"
     paths:
-      - "src/sbbs3/*.exe.release/*"
-      - "src/sbbs3/*.lib.release/*"
-      - "src/sbbs3/*/*.exe.release/*"
+      - "src/sbbs3/*.exe.release/jsdoor"
   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 ]] [sbbs-build]"
     - 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:
+      - "src/sbbs3/*.exe.release/*"
+      - "src/sbbs3/*.lib.release/*"
+      - "src/sbbs3/*/*.exe.release/*"
+  needs:
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs-build]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [scfg]"
     - job: "$[[ inputs.os ]]-$[[ inputs.platform ]] [uedit]"
@@ -585,7 +629,7 @@ spec:
   script:
     - "src/sbbs3/*.exe.release/jsdoor exec/tests/test.js"
   dependencies:
-    - "$[[ inputs.os ]]-$[[ inputs.platform ]] [sbbs]"
+    - "$[[ inputs.os ]]-$[[ inputs.platform ]] [jsdoor]"
   rules:
     - if: '"$[[ inputs.cross_platform ]]" == "yes"'
       when: never