diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 867b1597cb1cc6ddf09d6a875697f2128422f8c8..1ab8b981ac393d64a79d3f8582bd91c4a456932f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,9 +34,15 @@ test:
     - PYVER=$(python --version 2>&1 | sed -e 's/\ //g' -e 's/P/p/g' | cut -c1-9); WRONGFILE="./venv/lib/$PYVER/site-packages/$PWD/venv/lib/$PYVER/site-packages/capstone/libcapstone.so"; TARGET="./venv/lib/$PYVER/site-packages/capstone"; if [ -f "$WRONGFILE" ]; then cp "$WRONGFILE" "$TARGET"; fi
     - coverage run --concurrency=multiprocessing test/run_tests.py
     - coverage combine
+    - coverage report
     - coverage html
+    - coverage xml
     - coverage-badge -o htmlcov/coverage.svg
-    - coverage report
+  coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
   artifacts:
     paths:
       - htmlcov
+    reports:
+      coverage_report:
+        coverage_format: cobertura
+        path: coverage.xml