diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ef2d93c60bec423e177f2faa5fa15758a12a46c2..eefadc4a1541b4279f75f628166bee8bfaa5175c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,7 @@ pages:
     - public/
 
 
-coverage:
+unit_test_coverage:
     stage: test
     allow_failure: true
     when: on_success
@@ -35,8 +35,11 @@ coverage:
     script:
         - Rscript -e 'install.packages("covr")'
         - Rscript -e 'install.packages("DT")'
-        - Rscript -e 'covr::gitlab(quiet = FALSE)'
-        #- Rscript -e 'covr::codecov(type = c("tests", "examples"), quiet = FALSE)'
+        - Rscript -e "cov <- covr::package_coverage(quiet = TRUE); covr::to_cobertura(cov, file='coverage.xml')"
+        # badge creation
+        - Rscript -e "badgecretr::badge_coverage_file('badge.svg', './coverage.xml', successful_coverage=90)"
     artifacts:
-        paths:
-            - public
+      paths:
+        - coverage.xml
+        - badge.svg
+    coverage: '/^.*?(?P<coverage>\d+(?:\.\d+)?).*$/' # regex to extract coverage percentage
\ No newline at end of file