diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 760af189a1607c4628b13244a49f29a3d142ea1d..c5478c5bafd295204cf95f142969480e71dd4330 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -100,9 +100,19 @@ tests:3.8:
 
 tests:3.9:cov:
   extends: .tests
+  coverage: '/(?i)total.*\s+(\d+%)/'
   script:
     - poetry install
-    - poetry run pytest --cov duniterpy --cov-report html:cov_html --cov-report term
+    - poetry run pytest --cov duniterpy --cov-report html:cov_html --cov-report xml --cov-report term
+  artifacts:
+    paths:
+      - cov_html
+      - coverage.xml
+    expire_in: 2 days
+    reports:
+      coverage_report:
+        coverage_format: cobertura
+        path: coverage.xml
 
 tests:3.10:
   extends: .tests