diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d8201e83cb45ab3df3b7b5b8d2d04ae3c45cf457..e0a6971447344799e61ff334e0471aa1fa9b9610 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,12 +15,23 @@ before_script:
   - export GRADLE_USER_HOME=`pwd`/.gradle
 
 stages:
+  - setup
   - build
   - deploy
 
+setup-workspace:
+  stage: setup
+  script: ./gradlew -i setupDecompWorkspace
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: push
+    paths:
+      - build
+      - .gradle
+
 build-jar:
   stage: build
-  script: ./gradlew -i setupDecompWorkspace && ./gradlew build -Pmaven_pass=$MAVEN_PASS
+  script: ./gradlew build -Pmaven_pass=$MAVEN_PASS
   cache:
     key: "$CI_COMMIT_REF_NAME"
     policy: push