diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 47ba8212d204e4dfc477989c4e6d07bad8938862..fb55e79345f4463fa0e99fccc6b12295f966ad9b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,6 @@ stages:
   - compilers
   - concretize
   - install
-  - modules
   - deploy
 
 workflow:
@@ -144,6 +143,7 @@ spack:install:
       --fail-fast
       --show-log-on-error
 
+    - ${STACK_LOCATION}/spack/bin/spack -e ${environment} find -vl | tee spack-find-${environment}-${stack}.log
     - ${STACK_LOCATION}/spack/bin/spack -e ${environment}
       buildcache create
       --update-index
@@ -152,29 +152,12 @@ spack:install:
   needs:
     - job: spack:concretize
   artifacts:
+    paths:
+      - spack-find-*.log
     reports:
       junit: spack-install-*.xml
   timeout: 72h
 
-spack:modules:
-  stage: modules
-  extends:
-    - .parallel_job
-    - .spack_cache
-  script:
-    - source ci/stack_env.sh
-
-    - ${STACK_LOCATION}/spack/bin/spack -e ${environment} module lmod refresh --yes | tee spack-modules-${environment}-${stack}.log
-
-    - ${STACK_LOCATION}/spack/bin/spack -e ${environment} find -vl | tee spack-find-${environment}-${stack}.log
-  needs:
-    - job: spack:install
-  artifacts:
-    paths:
-      - spack-modules-*.log
-      - spack-find-*.log
-  timeout: 1h
-
 spack:mksquashfs:
   stage: deploy
   extends:
@@ -183,8 +166,25 @@ spack:mksquashfs:
   script:
     - source ci/stack_env.sh
 
+    - ${STACK_LOCATION}/spack/bin/spack
+      -c "config:install_tree:padded_length:False"
+      -e ${environment} install
+      --log-file spack-install-${environment}.xml
+      --log-format junit
+      --only-concrete
+      --fail-fast
+      --show-log-on-error
+
+    - ${STACK_LOCATION}/spack/bin/spack
+      -c "config:install_tree:padded_length:False"
+      -e ${environment} module
+      lmod refresh --yes | tee spack-modules-${environment}-${stack}.log
+
+    - echo "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/stack/${stack}/stack-${stack}-${environment}-${CI_COMMIT_REF_SLUG}.sqfs"
     - "mksquashfs ${STACK_LOCATION} stack-${stack}-${environment}-${CI_COMMIT_REF_SLUG}.sqfs"
     - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file stack-${stack}-${environment}-${CI_COMMIT_REF_SLUG}.sqfs "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/stack/${stack}/stack-${stack}-${environment}-${CI_COMMIT_REF_SLUG}.sqfs"'
   needs:
-    - job: spack:modules
+    - job: spack:install
   timeout: 10h
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH