name: "PHPStan" on: push: paths-ignore: - 'doc/**' pull_request: paths-ignore: - 'doc/**' env: COMPOSER_FLAGS: "--ansi --no-interaction --prefer-dist" SYMFONY_PHPUNIT_VERSION: "" permissions: contents: read jobs: tests: name: "PHPStan" runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} strategy: matrix: include: - php-version: "7.2" experimental: false - php-version: "8.3" experimental: true fail-fast: false steps: - name: "Checkout" uses: "actions/checkout@v4" - name: "Install PHP" uses: "shivammathur/setup-php@v2" with: coverage: "none" extensions: "intl, zip" ini-values: "memory_limit=-1" php-version: "${{ matrix.php-version }}" - name: "Determine composer cache directory" id: "determine-composer-cache-directory" run: "echo \"directory=$(composer config cache-dir)\" >> $GITHUB_OUTPUT" - name: "Cache dependencies installed with composer" uses: "actions/cache@v4" with: path: "${{ steps.determine-composer-cache-directory.outputs.directory }}" key: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}-${{ hashFiles('**/composer.lock') }}" restore-keys: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}" - name: "Install highest dependencies" if: "matrix.experimental == true" run: "composer config platform --unset && composer update ${{ env.COMPOSER_FLAGS }}" - name: "Install locked dependencies" if: "matrix.experimental == false" run: "composer config platform --unset && composer install ${{ env.COMPOSER_FLAGS }}" - name: "Initialize PHPUnit sources" run: "vendor/bin/simple-phpunit --filter NO_TEST_JUST_AUTOLOAD_THANKS" - name: "Run PHPStan" run: "composer phpstan"