diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74fe7f4b647a87aa4db4e3e5e43db76ce65962ec..94d8a41d076102fccbff3324df79e27e130899e3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,8 +25,6 @@ stages:
   - status-pending
   - config
   - initialize
-  - compile
-  - run
   - process
   - collect
   - finish
@@ -79,12 +77,6 @@ common:detector:
     - mkdir -p config
     - print_env.sh
 
-.compile_benchmark:
-  needs:
-    - ["common:detector"]
-  before_script:
-    - source .local/bin/env.sh
-
 .geoviewer:
   needs:
     - ["common:detector"]
@@ -96,9 +88,26 @@ common:detector:
       - runner_system_failure
   interruptible: true
 
+dump_geometry:
+  extends: .geoviewer
+  stage: proces
+  needs:
+    - common:detector
+  script:
+    - mkdir -p geo
+    - |
+      geo_base_file="geo/detector_geo"
+      dd_web_display --output ${geo_base_file}.root ${DETECTOR_PATH}/${CI_PROJECT_NAME}.xml
+      for yml in ${DETECTOR_PATH}/configurations/*.yml; do
+        name=`basename $yml .yml`
+        xml_file=${CI_PROJECT_NAME}_${name}.xml
+        geo_file=${geo_base_file}_${name}.root
+        dd_web_display --output ${geo_file} ${DETECTOR_PATH}/${xml_file}
+      done
+
 final_report:
   stage: finish
-  needs: []
+  needs: ["dump_geometry"]
   script:
     - echo "It was a success!"
   allow_failure: true