name: "CS"

on:
  pull_request:
  push:
    branches:
      - master
      - 2.*

permissions:
  contents: read

jobs:
  coding-standards:
    name: "CS Fixer & PHPStan"
    runs-on: "ubuntu-20.04"

    steps:
      - name: "Checkout"
        uses: "actions/checkout@v3"

      - name: "Install PHP"
        uses: "shivammathur/setup-php@v2"
        with:
          coverage: "none"
          php-version: "7.4"
          tools: cs2pr, pecl
          extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
          ini-values: "date.timezone=Europe/Paris"
        env:
          COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: "Install dependencies with Composer"
        uses: "ramsey/composer-install@v2"
        with:
          composer-options: "--optimize-autoloader --prefer-dist"

      - name: "Run PHP CS Fixer"
        run: "bin/php-cs-fixer fix --verbose --dry-run --format=checkstyle | cs2pr"

      - name: "Generate test cache for PHPStan"
        run: "php bin/console cache:clear --env=test"

      - name: "Install PHPUnit for PHPStan"
        run: "php bin/simple-phpunit install"

      - name: "Run PHPStan"
        run: "php bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
