name: PHPStan on: [push, pull_request] jobs: phpstan: name: Analyze runs-on: [ubuntu-latest] steps: - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: 7.4 - uses: actions/checkout@v4 - name: Get composer cache directory id: composer-cache run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --prefer-dist --no-progress --ignore-platform-req=ext-* - name: Restore result cache uses: actions/cache/restore@v4 with: path: .phpstan.cache key: phpstan-result-cache-${{ github.run_id }} restore-keys: | phpstan-result-cache- - name: PHPStan Static Analysis run: XDEBUG_MODE=off php bin/phpstan.phar analyze --configuration .phpstan.dist.neon - name: Save result cache uses: actions/cache/save@v4 if: always() with: path: .phpstan.cache key: phpstan-result-cache-${{ github.run_id }}