From 1a68efdf7154cba7723d3c203dccb7512a514ee7 Mon Sep 17 00:00:00 2001 From: Jordi Morillo Date: Wed, 8 May 2024 11:03:39 +0200 Subject: [PATCH] feature: add a condition to make code coverage necessary to be over 80% threshold --- .github/workflows/pull_request_phpunit_tests.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request_phpunit_tests.yml b/.github/workflows/pull_request_phpunit_tests.yml index 8e33e244..45b9b747 100644 --- a/.github/workflows/pull_request_phpunit_tests.yml +++ b/.github/workflows/pull_request_phpunit_tests.yml @@ -49,5 +49,14 @@ jobs: - name: Ejecutar migraciones y seeds run: php artisan migrate --seed - - name: Ejecutar pruebas unitarias - run: php artisan test + - name: Ejecutar pruebas unitarias y verificar cobertura + run: | + base_branch=develop + files_changed=$(git diff --name-only $base_branch) + phpunit --coverage-text --coverage-clover=coverage.xml --coverage-diff=coverage.diff ${files_changed[@]} + coverage=$(php -r '$xml = simplexml_load_file("coverage.xml"); echo $xml->project->metrics["coveredelements"];') + coverage_threshold=80 + if [ "$coverage" -lt "$coverage_threshold" ]; then + echo "Error: Coverage over new and updated code should be over 80% (now $coverage%)." + exit 1 + fi