name: CS & SA

on:
    pull_request:
    push:
        branches: [ master, main ]
    schedule:
        - cron: '45 4 1 * *'

env:
    PHP_CS_FIXER_IGNORE_ENV: 1

jobs:
    php-cs-fixer:
        name: PHP-CS-Fixer
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v4

            - name: Setup PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: '8.4'

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

            - name: Install dependencies
              run: composer bin php-cs-fixer install

            - name: Run script
              run: vendor-bin/php-cs-fixer/bin/php-cs-fixer fix --verbose --diff --dry-run

    phpstan:
        name: PHPStan
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v4

            - name: Setup PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: '8.4'

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

            - name: Install dependencies
              run: composer bin phpstan install

            - name: Run script
              run: make phpstan
