Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 33 additions & 14 deletions .github/workflows/run-tests-with-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Run tests with coverage

on:
push:
branches: ["master"]
branches: [ "master" ]
pull_request:
branches: ["master"]
branches: [ "master" ]

jobs:
tests-with-coverage:
Expand Down Expand Up @@ -36,25 +36,22 @@ jobs:
- 5432:5432

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

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: mbstring, pdo, pdo_pgsql, gd, dom, fileinfo, pgsql
coverage: xdebug
tools: composer:v2
env:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432

- name: Checkout
uses: actions/checkout@v4
- name: Set up PostgreSQL
run: |
sudo apt-get update
sudo apt-get install -y postgresql-client
psql --version

- name: Wait for PostgreSQL
run: |
echo "Waiting for PostgreSQL to be ready..."
Expand All @@ -68,14 +65,36 @@ jobs:
done
echo "PostgreSQL failed to start"
exit 1

- name: Install Composer dependencies
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Execute unit tests via PHPUnit with coverage
run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml
- name: Export coverage report
if: ${{ matrix.php-version == '8.4' }}
uses: actions/upload-artifact@v4
with:
name: clover.xml
path: build/logs

- name: Run PHPUnit tests with coverage
run: php -d xdebug.mode=coverage vendor/bin/phpunit --coverage-clover=build/logs/clover.xml --stop-on-failure ./tests/

upload-to-coveralls:
needs: tests-with-coverage
runs-on: ubuntu-latest
steps:
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.4"
tools: composer:v2
- name: Checkout
uses: actions/checkout@v4
- name: Import coverage report
uses: actions/download-artifact@v4
with:
name: clover.xml
path: build/logs
- name: Upload coverage results to Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: php vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
run: |
composer global require php-coveralls/php-coveralls
php-coveralls --coverage_clover=build/logs/clover.xml -v --json_path=coveralls-upload.json