name: CI

on:
  push:
  pull_request:

jobs:
  phpstan:
    name: PHPStan analysis
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false

    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP 🐘
        uses: pmmp/setup-php-action@2.0.0
        with:
          php-version: 8.1
          install-path: "./bin"
          pm-version-major: "5"

      - uses: "ramsey/composer-install@v2"

      - name: Run PHPStan 🔍
        run: composer run-script analyse

  codestyle:
    name: Code Style checks
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false

    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP 🐘
        uses: shivammathur/setup-php@2.29.0
        with:
          php-version: 8.1
          tools: php-cs-fixer
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Run PHP-CS-Fixer 🔍
        run: php-cs-fixer fix --dry-run --ansi --diff