name: Tests

on: [push, pull_request]

jobs:
    tests:
        name: Tests PHP ${{ matrix.php }}
        runs-on: ubuntu-latest
        strategy:
            fail-fast: false
            matrix:
                php: [7.4, 8.0, 8.1]
                include:
                    - php: 8.1
                      analysis: true

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

            - 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: Tests
              run: vendor/bin/phpunit --coverage-clover clover.xml
