diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d53cf660fdefa320b6119dfb662ac37451d847b7..d20408dcbff7279ada39420a3ad5d74eae06f06f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,15 +30,9 @@ variables:
 
 workflow:
   rules:
-    - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
-      when: never
-    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
-      when: never
-    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
-      when: never
     - if: $CI_PIPELINE_SOURCE == "merge_request_event"
     - if: $CI_PIPELINE_SOURCE == "schedule"
-    - if: $CI_COMMIT_BRANCH
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
     - if: $CI_COMMIT_TAG
       variables:
         DOCKER_TAG: ${CI_COMMIT_REF_NAME}
@@ -158,7 +152,6 @@ python package clean up:
   script:
     - python scripts/cleanup_packages.py
   rules:
-    - if: $CI_COMMIT_BRANCH == "develop" && $NIGHTLY
     - when: manual
       allow_failure: true
 
@@ -504,7 +497,6 @@ deploy develop:
     reports:
       dotenv: build.env
   rules:
-    - if: $CI_COMMIT_BRANCH == "develop" && $NIGHTLY
     - when: manual
       allow_failure: true
 
@@ -544,9 +536,8 @@ python package:
     - pip install twine
   script: twine upload -u gitlab-ci-token -p ${CI_JOB_TOKEN} --repository-url https://gitlab.mpcdf.mpg.de/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/nomad-lab-*.tar.gz
   rules:
-    - when: manual
-      allow_failure: true
-    - if: $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_TAG
+    - if: $CI_COMMIT_BRANCH == "develop" && $NIGHTLY
+    - if: $CI_COMMIT_TAG
 
 pypi package:
   stage: release