Skip to content

Commit b5b1cb2

Browse files
committed
ci(merge-coverage): add workflow to prove it works
1 parent 16159ba commit b5b1cb2

File tree

6 files changed

+132
-9
lines changed

6 files changed

+132
-9
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: "Merge Coverage Bis"
2+
3+
on: [pull_request]
4+
5+
env:
6+
XDEBUG_MODE: coverage
7+
8+
jobs:
9+
unit:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@master
13+
- uses: php-actions/composer@master
14+
- uses: php-actions/phpunit@master
15+
with:
16+
php_extensions: xdebug
17+
testsuite: unit
18+
coverage_php: reports/unit.php
19+
- uses: actions/cache/save@v4
20+
with:
21+
path: reports
22+
key: reports-unit-${{ github.run_id }}
23+
24+
integration:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@master
28+
- uses: php-actions/composer@master
29+
- uses: php-actions/phpunit@master
30+
with:
31+
php_extensions: xdebug
32+
testsuite: integration
33+
coverage_php: reports/integration.php
34+
- uses: actions/cache/save@v4
35+
with:
36+
path: reports
37+
key: reports-integration-${{ github.run_id }}
38+
39+
coverage:
40+
runs-on: ubuntu-latest
41+
needs: [integration, unit]
42+
43+
steps:
44+
- uses: actions/checkout@v4
45+
- uses: actions/cache/restore@v4
46+
with:
47+
path: reports
48+
key: reports-unit-${{ github.run_id }}
49+
- uses: actions/cache/restore@v4
50+
with:
51+
path: reports
52+
key: reports-integration-${{ github.run_id }}
53+
- uses: php-actions/composer@master
54+
- run: php bin/merge-coverage.php
55+
56+

.github/workflows/merge-coverage.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: "Merge Coverage"
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
unit:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- uses: shivammathur/setup-php@v2
11+
with:
12+
tools: composer
13+
coverage: xdebug
14+
env:
15+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16+
- run: composer install
17+
- run: vendor/bin/phpunit --testsuite unit --coverage-php reports/unit.php
18+
- uses: actions/cache/save@v4
19+
with:
20+
path: reports
21+
key: reports-unit-${{ github.run_id }}
22+
23+
integration:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: shivammathur/setup-php@v2
28+
with:
29+
tools: composer
30+
coverage: xdebug
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
- run: composer install
34+
- run: vendor/bin/phpunit --testsuite integration --coverage-php reports/integration.php
35+
- uses: actions/cache/save@v4
36+
with:
37+
path: reports
38+
key: reports-integration-${{ github.run_id }}
39+
40+
coverage:
41+
runs-on: ubuntu-latest
42+
needs: [integration, unit]
43+
44+
steps:
45+
- uses: actions/checkout@v4
46+
- uses: actions/cache/restore@v4
47+
with:
48+
path: reports
49+
key: reports-unit-${{ github.run_id }}
50+
- uses: actions/cache/restore@v4
51+
with:
52+
path: reports
53+
key: reports-integration-${{ github.run_id }}
54+
55+
- uses: shivammathur/setup-php@v2
56+
with:
57+
tools: composer
58+
coverage: xdebug
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
- run: composer install
62+
- run: php bin/merge-coverage.php
63+
64+

.github/workflows/phpunit.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Check out repository code
1212
uses: actions/checkout@master
1313

14-
- uses: php-actions/composer@master
14+
- uses: php-actions/composer@master
1515

1616
- name: PHPUnit Tests
1717
uses: php-actions/phpunit@master

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
### MacOs ###
22
.DS_Store
33

4+
### PhpStorm ###
5+
/.idea
6+
47
### Composer ###
58
composer.lock
69
composer.phar
@@ -13,3 +16,4 @@ composer.phar
1316
/reports
1417
!/reports/.keep
1518
/coverage
19+

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ test:
1313
classnames.test:
1414
docker compose exec php vendor/bin/phpunit --testsuite classnames
1515

16-
unit.test:
16+
unit.test: start
1717
docker compose exec php vendor/bin/phpunit --testsuite unit --coverage-php reports/unit.php
1818

19-
integration.test:
19+
integration.test: start
2020
docker compose exec php vendor/bin/phpunit --testsuite integration --coverage-php reports/integration.php
2121

22-
merge-coverage:
22+
merge-coverage: unit.test integration.test
2323
docker compose exec php bin/merge-coverage.php

bin/merge-coverage.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@
33

44
require __DIR__.'/../vendor/autoload.php';
55

6-
use \SebastianBergmann\CodeCoverage\CodeCoverage;
7-
use \SebastianBergmann\CodeCoverage\Report\Html\CustomCssFile;
86
use \SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport;
97
use \PHPUnit\Runner\Version;
108

9+
$reference = sprintf(' and <a href="https://phpunit.de/">PHPUnit %s</a>', Version::id());
10+
$report = new HtmlReport($reference);
11+
1112
$unit = include('reports/unit.php');
1213
$integration = include('reports/integration.php');
1314

1415
$unit->merge($integration);
1516

16-
$reference = sprintf(' and <a href="https://phpunit.de/">PHPUnit %s</a>', Version::id());
17-
18-
(new HtmlReport($reference))->process($unit, 'coverage');
17+
$report->process($unit, 'coverage');
1918

2019

2120

0 commit comments

Comments
 (0)