Ajouter le code coverage sur les MR avec Gitlab-CI

Eleven Labs
Eleven Labs

--

Voici un tip qui permet de pouvoir voir en un clin d’œil les répercussions d’une MR sur la couverture de code de votre projet.

Dans un premier temps, nous allons modifier notre .gitlab-ci.yml

before_script:
- composer install
stages:
- test
test:
script:
- vendor/phpunit/phpunit/phpunit -c app --coverage-text --colors=never

La modification de notre pipeline porte sur les configs de phpunit en ajoutant — coverage-text — colors=never afin d’avoir dans les logs du pipeline les résultats du code-coverage.

Puis dans l’interface de réglages du pipeline, nous allons configurer la regex afin de récupérer la couverture de code du commit.

Là, gitlab est plutot sympa et nous donne déjà plusieurs regex toutes prêtes en fonction du langage du projet. Dans mon cas c’est du PHP donc la config sera ^\s*Lines:\s*\d+.\d+\%

Et voila !

Petit bonus, pour avoir le badge avec le code coverage sur le README, ajouter simplement ces lignes :

[![build status](https://gitlab.com/[TEAM]/[PROJECT]/badges/master/build.svg)](https://gitlab.com/[TEAM]/[PROJECT]/commits/master)

Et voila le résultat :

Pour plus d’infos : https://docs.gitlab.com/ee/user/project/pipelines/settings.html#test-coverage-parsing

Auteur : Rémy Jardinet
Twitter : Pouzor

--

--