diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 305c27c568337e260086f148c458f3e7b48c6802..8f2ce1b727532f206f06ebec7fd7532153839438 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,8 +21,9 @@ build:
   stage: "build"
   script:
     - "./gradlew build"
-  except:
-    - "tags"
+  rules:
+    - if: "$CI_COMMIT_BRANCH == 'master'"
+      when: always
 
 test:
   stage: "test"
@@ -34,8 +35,11 @@ test:
     reports:
       junit:
         - "build/test-results/**/TEST-*.xml"
-  except:
-    - "tags"
+  rules:
+    - if: "$CI_COMMIT_BRANCH == 'master'"
+      when: always
+  dependencies:
+    - "build"
 
 release:
   stage: "release"
@@ -47,6 +51,7 @@ release:
       - "build/libs/*"
   dependencies:
     - "build"
+    - "test"
   rules:
     - if: "$CI_COMMIT_TAG != '' && $CI_COMMIT_BRANCH == 'master'"
       when: always