name: Static analysis

on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]

jobs:
    run:

        runs-on: ubuntu-24.04
        strategy:
            matrix:
                operating-system: [ubuntu-24.04]
                php-versions: ['8.2']
        name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}

        steps:
            - uses: actions/checkout@v4

            - name: Setup PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php-versions }}
                  extensions: mbstring, pdo, pdo_mysql, intl, zip
                  coverage: none

            - name: Cache Composer packages
              id: composer-cache
              uses: actions/cache@v4
              with:
                  path: vendor
                  key: ${{ runner.os }}-php-${{ hashFiles('**/composer.json') }}
                  restore-keys: |
                      ${{ runner.os }}-php-${{ matrix.php-versions }}-

            - name: Install dependencies
              if: steps.composer-cache.outputs.cache-hit != 'true'
              run: composer install --prefer-dist --no-progress --no-suggest

            - name: Run PHPStan
              run: vendor/bin/phpstan analyse --ansi
