Skip to content

Merge pull request #14 from Art4/phpunit-10 #119

Merge pull request #14 from Art4/phpunit-10

Merge pull request #14 from Art4/phpunit-10 #119

Workflow file for this run

name: PHPUnit
on:
push:
pull_request:
# Allow manually triggering the workflow.
workflow_dispatch:
jobs:
tests:
name: Tests (PHP ${{ matrix.php }} with ${{ matrix.prefer-versions }} lib versions)
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.php == '8.3' }}
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
prefer-versions: ['latest']
include:
- php: '7.2'
prefer-versions: 'lowest'
operating-system: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Install PHP with latest composer
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: error_reporting=-1, display_errors=On, log_errors_max_len=0
coverage: xdebug
tools: none
# Install dependencies and handle caching in one go.
# @link https://github.com/marketplace/actions/install-composer-dependencies
- name: "Install lowest Composer dependencies (PHP 7.2)"
if: ${{ matrix.prefer-versions == 'lowest' }}
uses: "ramsey/composer-install@v2"
with:
composer-options: --prefer-lowest
- name: "Install Composer dependencies (PHP < 8.3)"
if: ${{ matrix.prefer-versions == 'latest' && matrix.php < '8.3' }}
uses: "ramsey/composer-install@v2"
- name: "Install Composer dependencies (PHP 8.3)"
if: ${{ matrix.php >= '8.3' }}
uses: "ramsey/composer-install@v2"
with:
composer-options: --ignore-platform-reqs
- name: Run phpunit tests
run: composer run phpunit -- --coverage-clover ./.code-coverage/clover.xml
- name: Run static code analysis
# Do not run phpstan on lowest php version
if: ${{ matrix.prefer-versions == 'latest' }}
run: composer run phpstan -- --error-format=github
- name: Send coverage report to Codecov
if: ${{ success() && matrix.php == '8.2' }}
uses: codecov/codecov-action@v3
with:
files: ./.code-coverage/clover.xml
fail_ci_if_error: true
verbose: true