diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a891d7faca7f54ec5cdead92b1208bd22a10c64a..9655c81dfb07b7b8c6c635eb24010402ee9de2cd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,42 @@
 variables:
   GIT_SUBMODULE_STRATEGY: recursive
 
-pages:
-  image: gitlab.liu.se:5000/starcraft-ai-course/pycommandcenter
-  stage: deploy
+image: gitlab.liu.se:5000/starcraft-ai-course/pycommandcenter  
+
+stages:
+    - compile
+    - deploy
+
+compile:
+  stage: compile
   script:
     - mkdir build
     - cd build
     - cmake ..
     - make library
+  only:
+    - master
+    - python12_update
+
+pages:
+  stage: deploy
+  script:
     - cd ../docs
     - python3 library_import_check.py
     - make html
     - cd ..
     - mkdir public
     - cp -r docs/_build/html/* public
+  artifacts:
+    paths:
+      - public
+  only:
+    - master
+    - python12_update
+
+pack-linux:
+  stage: deploy
+  script:
     - cd build/python-api-src
     - stubgen -m library -o .
     - cd ../..
@@ -24,7 +46,6 @@ pages:
     - cp build/python-api-src/library.pyi artifacts
   artifacts:
     paths:
-      - public
       - artifacts
   only:
     - master