name: Code Style

on: [ pull_request, push ]

jobs:
  coverage:
    runs-on: ubuntu-latest

    name: Run code style checks

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

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 7.4
          extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv

      - name: Cache dependencies
        uses: actions/cache@v2
        with:
          path: |
            vendor
            ${{ steps.composer-cache-files-dir.outputs.dir }}
          key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
          restore-keys: |
            ${{ runner.os }}-composer-

      - name: Install dependencies
        env:
          COMPOSER_DISCARD_CHANGES: true
        run: composer require --no-suggest --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:^8.0" "orchestra/testbench:^6.0"

      - name: Run PHP CS Fixer
        run: ./vendor/bin/php-cs-fixer fix --diff --dry-run
