Added code coverage status
authorThierry Florac <tflorac@ulthar.net>
Wed, 27 Nov 2019 16:47:22 +0100
changeset 21 7dcd342f35be
parent 20 027147fbd5b3
child 22 fe3397e67de9
Added code coverage status
.gitlab-ci.yml
--- a/.gitlab-ci.yml	Tue Nov 26 10:10:51 2019 +0100
+++ b/.gitlab-ci.yml	Wed Nov 27 16:47:22 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