diff --git a/.github/workflows/merge-coverage-bis.yml b/.github/workflows/merge-coverage-bis.yml new file mode 100644 index 0000000..8d0c1d3 --- /dev/null +++ b/.github/workflows/merge-coverage-bis.yml @@ -0,0 +1,56 @@ +name: "Merge Coverage Bis" + +on: [pull_request] + +env: + XDEBUG_MODE: coverage + +jobs: + unit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: php-actions/composer@master + - uses: php-actions/phpunit@master + with: + php_extensions: xdebug + testsuite: unit + coverage_php: reports/unit.php + - uses: actions/cache/save@v4 + with: + path: reports + key: reports-unit-${{ github.run_id }} + + integration: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: php-actions/composer@master + - uses: php-actions/phpunit@master + with: + php_extensions: xdebug + testsuite: integration + coverage_php: reports/integration.php + - uses: actions/cache/save@v4 + with: + path: reports + key: reports-integration-${{ github.run_id }} + + coverage: + runs-on: ubuntu-latest + needs: [integration, unit] + + steps: + - uses: actions/checkout@v4 + - uses: actions/cache/restore@v4 + with: + path: reports + key: reports-unit-${{ github.run_id }} + - uses: actions/cache/restore@v4 + with: + path: reports + key: reports-integration-${{ github.run_id }} + - uses: php-actions/composer@master + - run: php bin/merge-coverage.php + + diff --git a/.github/workflows/merge-coverage.yaml b/.github/workflows/merge-coverage.yaml new file mode 100644 index 0000000..1ff88bb --- /dev/null +++ b/.github/workflows/merge-coverage.yaml @@ -0,0 +1,64 @@ +name: "Merge Coverage" + +on: [pull_request] + +jobs: + unit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + tools: composer, phpunit:11 + coverage: xdebug + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: composer install + - run: phpunit --testsuite unit --coverage-php reports/unit.php + - uses: actions/cache/save@v4 + with: + path: reports + key: reports-unit-${{ github.run_id }} + + integration: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + tools: composer, phpunit:11 + coverage: xdebug + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: composer install + - run: phpunit --testsuite integration --coverage-php reports/integration.php + - uses: actions/cache/save@v4 + with: + path: reports + key: reports-integration-${{ github.run_id }} + + coverage: + runs-on: ubuntu-latest + needs: [integration, unit] + + steps: + - uses: actions/checkout@v4 + - uses: actions/cache/restore@v4 + with: + path: reports + key: reports-unit-${{ github.run_id }} + - uses: actions/cache/restore@v4 + with: + path: reports + key: reports-integration-${{ github.run_id }} + + - uses: shivammathur/setup-php@v2 + with: + tools: composer, phpunit:11 + coverage: xdebug + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: composer install + - run: php bin/merge-coverage.php + + diff --git a/.github/workflows/phpunit.yaml b/.github/workflows/phpunit.yaml index 5788829..a914117 100644 --- a/.github/workflows/phpunit.yaml +++ b/.github/workflows/phpunit.yaml @@ -11,7 +11,7 @@ jobs: - name: Check out repository code uses: actions/checkout@master - - uses: php-actions/composer@master + - uses: php-actions/composer@master - name: PHPUnit Tests uses: php-actions/phpunit@master diff --git a/.gitignore b/.gitignore index c7eea7f..f10c6b7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ ### MacOs ### .DS_Store +### PhpStorm ### +/.idea + ### Composer ### composer.lock composer.phar @@ -13,3 +16,4 @@ composer.phar /reports !/reports/.keep /coverage + diff --git a/Makefile b/Makefile index 7b7a25d..c7277de 100644 --- a/Makefile +++ b/Makefile @@ -13,11 +13,11 @@ test: classnames.test: docker compose exec php vendor/bin/phpunit --testsuite classnames -unit.test: +unit.test: start docker compose exec php vendor/bin/phpunit --testsuite unit --coverage-php reports/unit.php -integration.test: +integration.test: start docker compose exec php vendor/bin/phpunit --testsuite integration --coverage-php reports/integration.php -merge-coverage: +merge-coverage: unit.test integration.test docker compose exec php bin/merge-coverage.php \ No newline at end of file diff --git a/bin/merge-coverage.php b/bin/merge-coverage.php index 93cfaa5..0e36b93 100644 --- a/bin/merge-coverage.php +++ b/bin/merge-coverage.php @@ -3,19 +3,18 @@ require __DIR__.'/../vendor/autoload.php'; -use \SebastianBergmann\CodeCoverage\CodeCoverage; -use \SebastianBergmann\CodeCoverage\Report\Html\CustomCssFile; use \SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport; use \PHPUnit\Runner\Version; +$reference = sprintf(' and PHPUnit %s', Version::id()); +$report = new HtmlReport($reference); + $unit = include('reports/unit.php'); $integration = include('reports/integration.php'); $unit->merge($integration); -$reference = sprintf(' and PHPUnit %s', Version::id()); - -(new HtmlReport($reference))->process($unit, 'coverage'); +$report->process($unit, 'coverage');