name: PHP Code Quality on: pull_request: paths: - '**.php' - 'phpstan.neon' - 'phpunit.xml' push: branches: - main paths: - '**.php' - 'phpstan.neon' - 'phpunit.xml' # Allow manual triggering workflow_dispatch: # Allow other workflows (e.g. Publish) to invoke this one. workflow_call: env: fail-fast: true permissions: contents: read jobs: phpstan: name: PHPStan runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v5 - name: Set up PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none tools: none - name: Run PHPStan run: vendor/bin/phpstan analyze --no-progress phpunit: name: PHPUnit runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: php: ['8.2', '8.3', '8.4'] experimental: [false] include: - php: '8.5' experimental: true steps: - name: Check out code uses: actions/checkout@v5 - name: Set up PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} coverage: none tools: none - name: Run PHPUnit run: vendor/bin/phpunit --exclude integration --coverage-filter classes --coverage-filter include