50 lines
1.4 KiB
YAML
50 lines
1.4 KiB
YAML
name: Tests
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
tests:
|
|
name: Tests PHP ${{ matrix.php }}
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: ${{ matrix.experimental }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php: [7.4, 8.0, 8.1, 8.2]
|
|
experimental: [false]
|
|
include:
|
|
- php: 8.1
|
|
analysis: true
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up PHP ${{ matrix.php }}
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
coverage: xdebug
|
|
|
|
- name: Install dependencies with Composer
|
|
uses: ramsey/composer-install@v2
|
|
|
|
- name: Coding standards
|
|
if: matrix.analysis
|
|
run: vendor/bin/phpcs
|
|
|
|
- name: Static analysis
|
|
if: matrix.analysis
|
|
run: vendor/bin/phpstan
|
|
|
|
- name: Tests
|
|
run: vendor/bin/phpunit --coverage-clover clover.xml
|
|
|
|
- name: Upload coverage results to Coveralls
|
|
if: matrix.analysis
|
|
env:
|
|
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
composer require php-coveralls/php-coveralls -n -W
|
|
vendor/bin/php-coveralls --coverage_clover=clover.xml -v
|