name: Pull request checks
on:
  pull_request:
    types: [assigned, opened, synchronize, reopened]

jobs:
  pr_checks:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup PHP with Xdebug
        uses: "shivammathur/setup-php@v2"
        with:
          php-version: "8.1"
          coverage: xdebug

      - name: Install composer dependencies
        run: composer install --prefer-dist --no-suggest --no-progress

      - name: Check PHP code style
        continue-on-error: true
        run: composer run lint:report-xml

      - name: Show PHPCS results in PR
        run: vendor/bin/cs2pr ./phpcs-report.xml --graceful-warnings

      - name: Run unit tests
        run: composer run test:unit:coverage-text

      - name: Check coverage
        run: php check-coverage.php

