105 lines
2.9 KiB
YAML
105 lines
2.9 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push: ~
|
|
pull_request: ~
|
|
|
|
jobs:
|
|
phpcs:
|
|
name: PHPCS
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 7.2
|
|
extensions: curl, mbstring
|
|
coverage: none
|
|
tools: composer:v2, cs2pr
|
|
|
|
- run: composer update --no-progress
|
|
|
|
- run: vendor/bin/phpcs -q --report=checkstyle | cs2pr
|
|
|
|
phpunit:
|
|
name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
php: ['7.2', '7.3', '7.4', '8.0', '8.1']
|
|
coverage: [true]
|
|
composer-flags: ['']
|
|
include:
|
|
- php: '8.2'
|
|
coverage: false
|
|
composer-flags: '--ignore-platform-req=php'
|
|
- php: '7.2'
|
|
coverage: false
|
|
composer-flags: '--prefer-lowest'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
extensions: curl, mbstring
|
|
coverage: pcov
|
|
tools: composer:v2
|
|
|
|
- run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
|
|
|
|
- name: "Use PHPUnit 9.3+ on PHP 8"
|
|
run: composer require --no-update --dev phpunit/phpunit:^9.3
|
|
if: "matrix.php >= '8.0'"
|
|
|
|
- run: composer update --no-progress ${{ matrix.composer-flags }}
|
|
|
|
- run: vendor/bin/phpunit --no-coverage
|
|
if: ${{ !matrix.coverage }}
|
|
|
|
- run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
|
|
if: ${{ matrix.coverage }}
|
|
|
|
- run: php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
|
|
if: ${{ matrix.coverage }}
|
|
continue-on-error: true
|
|
|
|
phpstan:
|
|
name: PHPStan
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 7.2
|
|
extensions: curl, mbstring
|
|
coverage: none
|
|
tools: composer:v2
|
|
|
|
- run: composer update --no-progress
|
|
|
|
- run: vendor/bin/phpstan analyse --no-progress
|
|
|
|
psalm:
|
|
name: Psalm
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 7.2
|
|
extensions: curl, mbstring
|
|
coverage: none
|
|
tools: composer:v2
|
|
|
|
- run: composer update --no-progress
|
|
|
|
- run: vendor/bin/psalm --no-progress --output-format=github
|