diff --git a/scripts/ci/jobs/build-gui-linux.yml b/scripts/ci/jobs/build-gui-linux.yml
index cf8f2dbb835cb3dfc84b0b61ff927689b31bb865..e7d334dbd21a6919edc246220b17abd2592f6d00 100644
--- a/scripts/ci/jobs/build-gui-linux.yml
+++ b/scripts/ci/jobs/build-gui-linux.yml
@@ -1,11 +1,15 @@
 build gui linux:
   extends: .template-build-linux
   stage: gui
+  needs:
+    - job: build linux
+      artifacts: false
   rules:
+    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
     - changes:
       - Applications/DataExplorer/**/*
-      when: always
     - when: manual
+      allow_failure: true
 
   variables:
     BUILD_DIR: "build-gui-linux"
diff --git a/scripts/ci/jobs/build-gui-mac.yml b/scripts/ci/jobs/build-gui-mac.yml
index e0ada99535157d91a8d089788687fd3b3ec137cb..5ef942411a70a7fa94a150103e53cf87d1c20541 100644
--- a/scripts/ci/jobs/build-gui-mac.yml
+++ b/scripts/ci/jobs/build-gui-mac.yml
@@ -1,13 +1,17 @@
 build gui mac:
   extends: .template-build-linux
   stage: gui
+  needs:
+    - job: build mac
+      artifacts: false
   tags:
     - mac
   rules:
+    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
     - changes:
       - Applications/DataExplorer/**/*
-      when: always
     - when: manual
+      allow_failure: true
 
   variables:
     BUILD_DIR: "build-gui-mac"
diff --git a/scripts/ci/jobs/build-gui-win.yml b/scripts/ci/jobs/build-gui-win.yml
index 9a6866fca4b5278f5b7bed0ed29820f92c85b74d..d19123916365d89c4af34665bae99dc871226f43 100644
--- a/scripts/ci/jobs/build-gui-win.yml
+++ b/scripts/ci/jobs/build-gui-win.yml
@@ -1,11 +1,15 @@
 build gui win:
   extends: .template-build-win
   stage: gui
+  needs:
+    - job: build win
+      artifacts: false
   rules:
+    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
     - changes:
       - Applications/DataExplorer/**/*
-      when: always
     - when: manual
+      allow_failure: true
 
   variables:
     BUILD_DIR: build-gui-win
diff --git a/scripts/ci/jobs/checks.yml b/scripts/ci/jobs/checks.yml
index cc33134319b986521ff772bf4580969faa0c5d44..70c84aa23818a01a21ad52cadf2f1ea5ec1a5021 100644
--- a/scripts/ci/jobs/checks.yml
+++ b/scripts/ci/jobs/checks.yml
@@ -3,10 +3,10 @@ compiler warnings:
   variables:
     GIT_STRATEGY: none
   allow_failure: true
-  dependencies:
-    - build linux
-    - build win
-    - build mac
+  needs:
+    - job: build linux
+    - job: build win
+    - job: build mac
   script:
     - exit_code=0
     - cd build
@@ -24,10 +24,10 @@ ctest results:
     GIT_STRATEGY: none
   tags:
     - singularity
-  dependencies:
-    - build linux
-    - build win
-    - build mac
+  needs:
+    - job: build linux
+    - job: build win
+    - job: build mac
   script:
     - singularity run docker://$XUNIT_TO_JUNIT_IMAGE -s:./build/Tests/ctest.xml > build/ctest-junit.xml
     - singularity run docker://$XUNIT_TO_JUNIT_IMAGE -s:./build-win/Tests/ctest.xml > build-win/ctest-junit.xml