Skip to content

Commit 0421377

Browse files
committed
Add Coveralls CI workflow for automated test coverage reporting
1 parent 379507c commit 0421377

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

.github/workflows/coveralls.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: coveralls
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- '*.x'
8+
pull_request:
9+
10+
jobs:
11+
types:
12+
runs-on: ubuntu-24.04
13+
14+
strategy:
15+
fail-fast: true
16+
matrix:
17+
php: [ 8.2, 8.3, 8.4 ]
18+
phpunit: [ '10.5.12', '11.3.2' ]
19+
20+
name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }}
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
26+
- name: Setup PHP
27+
uses: shivammathur/setup-php@v2
28+
with:
29+
php-version: 8.2
30+
extensions: mbstring, xml, xdebug
31+
tools: composer:v2
32+
coverage: xdebug
33+
34+
- name: Set Framework version
35+
run: composer config version "11.x-dev"
36+
37+
- name: Set Minimum PHP 8.4 Versions
38+
uses: nick-fields/retry@v3
39+
with:
40+
timeout_minutes: 5
41+
max_attempts: 5
42+
command: composer require nesbot/carbon:^3.4 --no-interaction --no-update
43+
shell: bash
44+
if: matrix.php >= 8.4
45+
46+
- name: Set PHPUnit
47+
uses: nick-fields/retry@v3
48+
with:
49+
timeout_minutes: 5
50+
max_attempts: 5
51+
command: composer require phpunit/phpunit:^${{ matrix.phpunit }} --dev --no-interaction --no-update
52+
53+
- name: Install dependencies
54+
uses: nick-fields/retry@v3
55+
with:
56+
timeout_minutes: 5
57+
max_attempts: 5
58+
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
59+
60+
- name: Execute tests with coverage
61+
run: vendor/bin/phpunit --configuration="phpunit.xml.dist" --coverage-clover="build/logs/clover.xml"
62+
63+
- name: Store coverage results to Coveralls
64+
env:
65+
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66+
run: |
67+
composer global require php-coveralls/php-coveralls --prefer-stable --prefer-dist --no-interaction --no-progress
68+
php-coveralls --coverage_clover="build/logs/clover.xml" -v

0 commit comments

Comments
 (0)