From a92319d604a1b93f22f5e58b0ee2f095bee5f1c7 Mon Sep 17 00:00:00 2001 From: Ralf Lang Date: Mon, 28 Apr 2025 19:30:27 +0200 Subject: [PATCH 1/2] feat(ci): Add simple on-pr pipeline --- .github/workflows/on-pr.yml | 13 +++++++++++-- .horde.yml | 2 ++ .php-cs-fixer.dist.php | 17 ++++++++++++----- composer.json | 6 ++++-- phpstan.neon | 1 + 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/.github/workflows/on-pr.yml b/.github/workflows/on-pr.yml index 31aa5ad..c1e1bf7 100644 --- a/.github/workflows/on-pr.yml +++ b/.github/workflows/on-pr.yml @@ -16,7 +16,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: 8.3 - extensions: bcmath, ctype, curl, dom, gd, gettext, iconv, imagick, json, ldap, mbstring, mysql, opcache, openssl, pcntl, pdo, posix, redis, soap, sockets, sqlite, tokenizer, xmlwriter + extensions: bcmath, ctype, curl, dom, gd, gettext, iconv, imagick, json, ldap, mbstring, mysql, opcache, openssl, pcntl, pdo, posix, redis, soap, sockets, sqlite, tokenizer, xmlwriter, xdebug ini-values: post_max_size=512M, max_execution_time=360 coverage: xdebug tools: php-cs-fixer, phpunit:${{ matrix.phpunit-versions }}, composer:v2 @@ -26,5 +26,14 @@ jobs: run: | COMPOSER_ROOT_VERSION=dev-FRAMEWORK_6_0 composer config minimum-stability dev COMPOSER_ROOT_VERSION=dev-FRAMEWORK_6_0 composer config prefer-stable true - COMPOSER_ROOT_VERSION=dev-FRAMEWORK_6_0 composer install --dev --no-interaction --no-progress + COMPOSER_ROOT_VERSION=dev-FRAMEWORK_6_0 composer install --no-interaction --no-progress + + - name: Run PHPUnit + run: vendor/bin/phpunit --testdox + + - name: Run php-cs-fixer + run: vendor/bin/php-cs-fixer check -vvv + + - name: Run phpstan (mandatory level) + run: vendor/bin/phpstan --no-progress diff --git a/.horde.yml b/.horde.yml index 0ebf131..6341e43 100644 --- a/.horde.yml +++ b/.horde.yml @@ -30,5 +30,7 @@ dependencies: dev: composer: phpunit/phpunit: ^12 + friendsofphp/php-cs-fixer: ^3 + phpstan/phpstan: ^2 nocommands: - bin/demo-client.php diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index c734484..2db37b8 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -1,14 +1,21 @@ in($full); + } +} -$finder = (new PhpCsFixer\Finder()) - ->in(__DIR__) -; return (new PhpCsFixer\Config()) ->setRules([ '@PER-CS' => true, - '@PHP82Migration' => true, - 'php_unit_test_class_requires_covers' => true, + '@PHP82Migration' => true, + 'php_unit_test_class_requires_covers' => true, ]) ->setFinder($finder) ; diff --git a/composer.json b/composer.json index ffbf231..872f1c4 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,9 @@ }, "require-dev": { "horde/injector": "dev-FRAMEWORK_6_0", - "rector/rector": "dev-main", - "phpunit/phpunit": "^12" + "rector/rector": "^2", + "phpunit/phpunit": "^12", + "friendsofphp/php-cs-fixer": "^3", + "phpstan/phpstan": "^2" } } diff --git a/phpstan.neon b/phpstan.neon index a01d087..a8c8145 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,6 @@ parameters: level: 5 + errorFormat: github treatPhpDocTypesAsCertain: false paths: - src From 12d2074be3858a458e9e9ae58d4466924d0606f4 Mon Sep 17 00:00:00 2001 From: Ralf Lang Date: Mon, 28 Apr 2025 20:20:10 +0200 Subject: [PATCH 2/2] Add allowed-to-fail level9 of phpstan --- .github/workflows/on-pr.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/on-pr.yml b/.github/workflows/on-pr.yml index c1e1bf7..9e936ba 100644 --- a/.github/workflows/on-pr.yml +++ b/.github/workflows/on-pr.yml @@ -37,3 +37,7 @@ jobs: - name: Run phpstan (mandatory level) run: vendor/bin/phpstan --no-progress + - name: Run phpstan (level 9, allowed to fail) + run: vendor/bin/phpstan --no-progress --level=9 + continue-on-error: true +