name: Tests on: [push, pull_request] permissions: contents: read jobs: tests: name: Tests PHP ${{ matrix.php }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: php: [8.4, 8.5] include: - php: 8.5 analysis: true steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up PHP ${{ matrix.php }} uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 with: php-version: ${{ matrix.php }} coverage: xdebug - name: Install dependencies with Composer uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0 - name: Coding standards if: matrix.analysis run: composer phpcs - name: Static analysis if: matrix.analysis run: composer phpstan-githook - name: Tests if: '!matrix.analysis' run: vendor/bin/phpunit - name: Tests with coverage if: matrix.analysis run: vendor/bin/phpunit --coverage-clover clover.xml - name: Upload coverage artifact if: matrix.analysis uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: coverage-clover path: clover.xml