Skip to content

Commit

Permalink
Add Coveralls CI workflow for automated test coverage reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
joelbladt committed Nov 24, 2024
1 parent 00ab091 commit 646077e
Showing 1 changed file with 74 additions and 0 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/coveralls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: coveralls

on:
push:
branches:
- master
- '*.x'
pull_request:

jobs:
types:
runs-on: ubuntu-24.04

strategy:
fail-fast: true
matrix:
php: [ 8.1, 8.2, 8.3 ]
phpunit: [ '10.0.7', '10.5.12' ]

name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
extensions: mbstring, xml, xdebug
tools: composer:v2
coverage: xdebug

- name: Set Framework version
run: composer config version "10.x-dev"

- name: Set minimum PHP 8.1 versions
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require symfony/css-selector:^6.0 --no-interaction --no-update

- name: Set minimum PHP 8.2 versions
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require guzzlehttp/psr7:^2.4 --no-interaction --no-update
if: matrix.php >= 8.2

- name: Set PHPUnit
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require phpunit/phpunit:^${{ matrix.phpunit }} --dev --no-interaction --no-update

- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress

- name: Execute tests with coverage
run: vendor/bin/phpunit --configuration="phpunit.xml.dist" --coverage-clover="build/logs/clover.xml"

- name: Store coverage results to Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
composer global require php-coveralls/php-coveralls --prefer-stable --prefer-dist --no-interaction --no-progress
php-coveralls --coverage_clover="build/logs/clover.xml" -v

0 comments on commit 646077e

Please sign in to comment.