diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml new file mode 100644 index 0000000..3817184 --- /dev/null +++ b/.github/workflows/phpstan.yml @@ -0,0 +1,36 @@ +name: PHPStan Check + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Validate composer.json and composer.lock + run: composer validate --strict + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v3 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Run PHPStan + run: composer run-script phpstan diff --git a/composer.json b/composer.json index 268bcee..4b4f18b 100644 --- a/composer.json +++ b/composer.json @@ -19,9 +19,15 @@ "symfony/event-dispatcher" : "^4.4|^5.0|^6.0", "symfony/yaml": "^4.4|^5.4|^6.0" }, + "require-dev": { + "phpstan/phpstan": "^2.1" + }, + "scripts": { + "phpstan": "phpstan analyse DependencyInjection Event Twig -l 1" + }, "autoload": { "psr-4": { "Intaro\\TwigInjectionBundle\\": "" } } -} +} \ No newline at end of file