diff --git a/.gitlab-ci.common.yml b/.gitlab-ci.common.yml
index 0fc11ccb4df2c7a7dbeea46f9b2466793da0eeaf..1d714e23dded1f3d0bebfe0aba64102bdab104c1 100644
--- a/.gitlab-ci.common.yml
+++ b/.gitlab-ci.common.yml
@@ -116,15 +116,24 @@ build-2204:
   script:
     - cd build/
     - ctest -j`nproc` --output-on-failure -T test
-  after_script:
-    - gcovr -j`nproc` -e 'external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' build/
 
 test-2004:
   extends: .test
   needs: ["versioning","build-2004"]
   image: $BASE_IMAGE_2004
+  after_script:
+    - gcovr -j`nproc` -e 'external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' build/
 
 test-2204:
   extends: .test
   needs: ["versioning","build-2204"]
   image: $BASE_IMAGE_2204
+  after_script:
+    - mkdir coverage
+    - gcovr -j`nproc` -e 'external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' --xml coverage.xml --html-details coverage/coverage.html build/
+    - tar cfz coverage.tar.gz coverage/
+  artifacts:
+    paths:
+      - coverage.tar.gz
+    reports:
+      cobertura: coverage.xml
\ No newline at end of file