Added coverage status
authorThierry Florac <tflorac@ulthar.net>
Wed, 27 Nov 2019 16:35:42 +0100
changeset 25 68fab7a5494d
parent 24 7b9ac39c749a
child 26 62937d005eb7
Added coverage status
.gitlab-ci.yml
--- a/.gitlab-ci.yml	Tue Nov 26 10:44:54 2019 +0100
+++ b/.gitlab-ci.yml	Wed Nov 27 16:35:42 2019 +0100
@@ -26,7 +26,18 @@
 test:
     stage: test
     script:
-        - ./bin/test
+        - pip install anybadge
+        - mkdir ./coverage
+        - ./bin/test --coverage coverage | tee ./coverage/coverage.log
+        - GLOBAL_COVER=$(/bin/grep -e '^[[:space:]]*[[:digit:]]\+[[:space:]]\+[[:digit:]]\+\%' ./coverage/coverage.log |
+              awk 'BEGIN { lines=0; cov=0 }
+                   { lines = lines + $1; cov = cov + $1 * $2 / 100 }
+                   END { printf "%.2f", cov / lines * 100 }')
+        - anybadge --label=Coverage --file=./coverage/coverage.svg --value=$GLOBAL_COVER 20=red 40=orange 60=yellow 80=green
+        - echo "Global tests coverage is $GLOBAL_COVER %"
+    artifacts:
+        paths:
+            - ./coverage/
 
 dist:
     stage: dist