diff --git a/.github/renovate.json5 b/.github/renovate.json5 index aecf2b1..549b7ec 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -3,11 +3,12 @@ "extends": ["mergeConfidence:all-badges"], - "enabled": false, + "enabled": true, "assignees": [ "mimmi20" ], + "automerge": false, "branchConcurrentLimit": 0, "commitBody": "Signed-off-by: {{{gitAuthor}}}", "commitBodyTable": true, @@ -16,9 +17,16 @@ "dependencyDashboard": false, "dependencyDashboardApproval": false, "dependencyDashboardOSVVulnerabilitySummary": "all", + // "enabledManagers": ["composer", "github-actions", "npm"], + "ignoreTests": false, + "ignoreUnstable": true, + "internalChecksFilter": "strict", "labels": [ "dependencies" ], + "lockFileMaintenance": { + "enabled": false + }, "osvVulnerabilityAlerts": true, "platformAutomerge": false, "prBodyColumns": [ @@ -41,9 +49,14 @@ "reviewers": [ "mimmi20" ], + "rollbackPrs": true, "schedule": ["at 4:00 am on Friday"], "semanticCommits": "disabled", + "separateMajorMinor": true, + "separateMinorPatch": false, "timezone": "Europe/Berlin", + "updateLockFiles": false, + "updateNotScheduled": false, "packageRules": [ { "groupName": "PHP", diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index e96d55b..876f6bd 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -114,6 +114,15 @@ jobs: - name: "Run unit tests with phpunit/phpunit" run: "vendor/bin/phpunit -c phpunit.xml --no-coverage --display-warnings --display-deprecations" + - name: "Enable annotations for validation errors and warnings" + uses: "korelstar/xmllint-problem-matcher@v1" + + - name: "Validate phpcs.xml" + uses: "ChristophWurst/xmllint-action@v1" + with: + xml-file: "phpunit.xml" + xml-schema-file: "vendor/phpunit/phpunit/phpunit.xsd" + code-coverage: name: "Code Coverage with PHPUnit" @@ -182,11 +191,6 @@ jobs: env: CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" - - name: "Run mutation tests with infection/infection" - env: - STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} - run: "vendor/bin/infection --show-mutations --only-covered --min-covered-msi=97 --min-msi=97 --coverage=.build/coverage --logger-github --no-progress -vv" - - name: "Upload coverage to Codeclimate" uses: "paambaati/codeclimate-action@v6.0.0" env: @@ -205,6 +209,11 @@ jobs: format: "clover" debug: false + - name: "Run mutation tests with infection/infection" + env: + STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} + run: "vendor/bin/infection --show-mutations --only-covered --min-covered-msi=97 --min-msi=97 --coverage=.build/coverage --logger-github --no-progress -vv" + finish-code-coverage: runs-on: "ubuntu-22.04" diff --git a/composer.json b/composer.json index e27340d..a526dd3 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "ext-mbstring": "*", "monolog/monolog": "^3.6.0", "psr/container": "^1.1.2 || ^2.0.2", - "symfony/console": "^v6.4.7" + "symfony/console": "^6.4.7" }, "require-dev": { "ext-ctype": "*", @@ -33,15 +33,15 @@ "infection/infection": "^0.27.11 || ^0.28.1", "laminas/laminas-modulemanager": "^2.15.0", "laminas/laminas-servicemanager": "^3.22.1 || ^4.0.0", - "mimmi20/coding-standard": "^5.2.32", - "nikic/php-parser": "^v4.19.1 || ^v5.0.2", + "mimmi20/coding-standard": "^5.2.33", + "nikic/php-parser": "^4.19.1 || ^5.0.2", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.11.1", + "phpstan/phpstan": "^1.11.2", "phpstan/phpstan-deprecation-rules": "^1.2.0", "phpstan/phpstan-phpunit": "^1.4.0", "phpunit/phpunit": "^10.5.20", "rector/rector": "^1.1.0", - "symplify/phpstan-rules": "^12.6.4", + "symplify/phpstan-rules": "^12.7.0", "tomasvotruba/cognitive-complexity": "^0.2.3", "tomasvotruba/type-coverage": "^0.3.0", "tomasvotruba/unused-public": "^0.3.9" @@ -57,14 +57,14 @@ } }, "config": { - "preferred-install": "dist", - "sort-packages": true, "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, - "phpstan/extension-installer": true, - "infection/extension-installer": true + "infection/extension-installer": true, + "phpstan/extension-installer": true }, - "lock": false + "lock": false, + "preferred-install": "dist", + "sort-packages": true }, "extra": { "laminas": { diff --git a/phpstan.neon b/phpstan.neon index 50b5158..41e06fd 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -123,7 +123,6 @@ rules: # - Symplify\PHPStanRules\Rules\NoReturnArrayVariableListRule # todo: fix - Symplify\PHPStanRules\Rules\ForbiddenExtendOfNonAbstractClassRule - - Symplify\PHPStanRules\Rules\Complexity\ForbiddenSameNamedNewInstanceRule # domain - Symplify\PHPStanRules\Rules\Domain\RequireExceptionNamespaceRule @@ -146,12 +145,10 @@ rules: - Symplify\PHPStanRules\Rules\ForbiddenMultipleClassLikeInOneFileRule # comlexity - - Symplify\PHPStanRules\Rules\Complexity\ForbiddenSameNamedNewInstanceRule - Symplify\PHPStanRules\Rules\NarrowType\NoReturnFalseInNonBoolClassMethodRule - Symplify\PHPStanRules\Rules\Complexity\ForbiddenArrayMethodCallRule # - Symplify\PHPStanRules\Rules\CheckRequiredInterfaceInContractNamespaceRule - - Symplify\PHPStanRules\Rules\NoEmptyClassRule # naming - Symplify\PHPStanRules\Rules\RequireAttributeNameRule @@ -164,7 +161,6 @@ rules: # naming - Symplify\PHPStanRules\Rules\Explicit\ExplicitClassPrefixSuffixRule - Symplify\PHPStanRules\Rules\NoReturnSetterMethodRule - - Symplify\PHPStanRules\Rules\NoVoidGetterMethodRule - Symplify\PHPStanRules\Rules\UppercaseConstantRule - Symplify\PHPStanRules\Rules\ClassNameRespectsParentSuffixRule - Symplify\PHPStanRules\Rules\CheckTypehintCallerTypeRule