diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c181d83507c6818fe9fee74e6bb8fe3a76badaeb..11fdac124199d91e49976d73b67c954b70aedd62 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -60,7 +60,7 @@ deploy-int-release-dev-cscs:
     RELEASE_NAME: EBRAINS-test
   resource_group: shared-NFS-mount-dev-cscs
   rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE =~ /technical-coordination/
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE =~ /technical-coordination/ && $CI_PIPELINE_SOURCE != "schedule"
 
 # Deploy the production release of tools (manual pipeline)
 # deploy on the production environment of the okd prod cluster at CSCS
@@ -114,11 +114,8 @@ deploy-exp-release-dev-cscs:
     SPACK_ENV: experimental
     RELEASE_NAME: EBRAINS-experimental
   resource_group: shared-NFS-mount-dev-cscs
-  only:
-    refs:
-      - schedules
-    variables:
-      - $DEPLOYMENT == "dev"
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"  && $DEPLOYMENT == "dev"
 
 # Deploy the experimental release of tools (sheduled pipeline)
 # once a week from latest working version of integration release 
@@ -139,11 +136,8 @@ deploy-exp-release-prod-cscs:
   tags:             # this is just to ensure that the two jobs will run on different runners
     - read-write    # to avoid issues with common environment variables
     - shell-runner
-  only:
-    refs:
-      - schedules
-    variables:
-      - $DEPLOYMENT == "prod"
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"  && $DEPLOYMENT == "prod"
 
 # Deploy the experimental release of tools (sheduled pipeline)
 # once a week from latest working version of integration release 
@@ -164,11 +158,8 @@ deploy-exp-release-prod-jsc:
   tags:             # this is just to ensure that the two jobs will run on different runners
     - read-only     # to avoid issues with common environment variables
     - shell-runner
-  only:
-    refs:
-      - schedules
-    variables:
-      - $DEPLOYMENT == "prod"
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"  && $DEPLOYMENT == "prod"
 
 build-spack-env-on-runner:
   stage: build
@@ -199,9 +190,8 @@ build-spack-env-on-runner:
       - spack_tests
     when: always
   timeout: 2 days
-  except:
-    variables:
-      - $CI_PIPELINE_SOURCE == "schedule"
+  rules:
+    - if: $CI_PIPELINE_SOURCE != "schedule"
 
 sync-gitlab-spack-instance:
   stage: build
@@ -230,7 +220,7 @@ sync-gitlab-spack-instance:
       - spack_logs
     when: always
   rules:
-    - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "experimental_rel" || $CI_COMMIT_BRANCH =~ /^ebrains/) && $CI_PROJECT_NAMESPACE =~ /technical-coordination/
+    - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "experimental_rel" || $CI_COMMIT_BRANCH =~ /^ebrains/) && $CI_PROJECT_NAMESPACE =~ /technical-coordination/ && $CI_PIPELINE_SOURCE != "schedule"
       when: manual
 
 test-gitlab-spack-instance: