From b4fec75429a15433d05c9c01d2dbdf95a5c7fc7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raimondas=20Rimkevi=C4=8Dius=20=28aka=20MekDrop=29?= Date: Thu, 5 Jun 2025 02:20:33 +0300 Subject: [PATCH 1/3] Add phpstan --- .github/workflows/on_pull_request.yml | 4 ++++ composer.json | 4 +++- phpstan.neon | 10 ++++++++++ src/ToArrayInterface.php | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 phpstan.neon diff --git a/.github/workflows/on_pull_request.yml b/.github/workflows/on_pull_request.yml index acd4281..a57ec0d 100644 --- a/.github/workflows/on_pull_request.yml +++ b/.github/workflows/on_pull_request.yml @@ -29,6 +29,10 @@ jobs: tools: composer:v${{ matrix.composer }} - name: Composer validate run: composer validate --strict --no-check-lock + - name: Run phpcs + run: composer phpcs + - name: Run phpstan + run: composer phpstan - name: Install Composer dependencies (with dev) run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader - name: Install Composer dependencies (without dev) diff --git a/composer.json b/composer.json index 5c0b436..97b0c00 100644 --- a/composer.json +++ b/composer.json @@ -38,10 +38,12 @@ "sort-packages": true }, "require-dev": { + "phpstan/phpstan": "^2.1", "squizlabs/php_codesniffer": "^3.7" }, "scripts": { "phpcs": "phpcs", - "phpcbf": "phpcbf" + "phpcbf": "phpcbf", + "phpstan": "phpstan analyse" } } diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..7495716 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: 8 + paths: + - src + + # Ignore tests directory for now + excludePaths: + - vendor/* + + reportUnmatchedIgnoredErrors: false diff --git a/src/ToArrayInterface.php b/src/ToArrayInterface.php index ae69005..f9ac03b 100644 --- a/src/ToArrayInterface.php +++ b/src/ToArrayInterface.php @@ -12,7 +12,7 @@ interface ToArrayInterface /** * Converts object to array * - * @return array + * @return array */ public function toArray(): array; } From 173625a69aaca330971db61fe5e405897447fa30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raimondas=20Rimkevi=C4=8Dius=20=28aka=20MekDrop=29?= Date: Thu, 5 Jun 2025 02:21:59 +0300 Subject: [PATCH 2/3] CI fixes --- .github/workflows/on_pull_request.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/on_pull_request.yml b/.github/workflows/on_pull_request.yml index a57ec0d..f3565db 100644 --- a/.github/workflows/on_pull_request.yml +++ b/.github/workflows/on_pull_request.yml @@ -29,14 +29,14 @@ jobs: tools: composer:v${{ matrix.composer }} - name: Composer validate run: composer validate --strict --no-check-lock - - name: Run phpcs - run: composer phpcs - - name: Run phpstan - run: composer phpstan - name: Install Composer dependencies (with dev) run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader - name: Install Composer dependencies (without dev) run: composer install --no-progress --no-dev --no-suggest --prefer-dist --optimize-autoloader + - name: Run phpcs + run: composer phpcs + - name: Run phpstan + run: composer phpstan dependabot: needs: tests From eb34eaa66c8da5196f33b67fdbcdf457d0745ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raimondas=20Rimkevi=C4=8Dius=20=28aka=20MekDrop=29?= Date: Thu, 5 Jun 2025 02:22:51 +0300 Subject: [PATCH 3/3] CI fixes (II) --- .github/workflows/on_pull_request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on_pull_request.yml b/.github/workflows/on_pull_request.yml index f3565db..f01853e 100644 --- a/.github/workflows/on_pull_request.yml +++ b/.github/workflows/on_pull_request.yml @@ -31,12 +31,12 @@ jobs: run: composer validate --strict --no-check-lock - name: Install Composer dependencies (with dev) run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader - - name: Install Composer dependencies (without dev) - run: composer install --no-progress --no-dev --no-suggest --prefer-dist --optimize-autoloader - name: Run phpcs run: composer phpcs - name: Run phpstan run: composer phpstan + - name: Install Composer dependencies (without dev) + run: composer install --no-progress --no-dev --no-suggest --prefer-dist --optimize-autoloader dependabot: needs: tests