From 3fcf57bbe0cacf81bf3a0096e7f249d760fc69f9 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 2 Nov 2026 15:56:42 +0100 Subject: [PATCH] fix(ci): hold rector at 2.7 so the Nextcloud rules keep working Rector 2.8 removed Rector\PhpDocParser\PhpDocParser\PhpDocNodeTraverser, which nextcloud/rector v0.5.2 imports and instantiates in AnnotationToAttributeRector. Every analysed file then fails with "Class ... not found", the run trips the 50 system error limit and the Rector job aborts, so every pull request branched after 8a6a7cba fails a check that has nothing to do with its own changes. The upgrade came in as a side effect of an automated dependency bump, which re-resolved the whole bin lock: "^2.7.0" let it walk into 2.8.3 and carried phpstan 2.3.4 along. Holding rector at ~2.7.0 on its own is not enough - phpstan 2.3.4 ships phpdoc-parser 2.4 and hands rector 2.7 a FullyQualifiedNameNode its scoped parser does not know - so the lock is restored to the set that last passed, rector 2.7.0 with phpstan 2.3.2. This is a stopgap. The fix belongs in nextcloud/rector, whose main branch still carries the removed import; once it has a release built against rector 2.8 the constraint can be widened again. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Andy Scherzinger --- vendor-bin/rector/composer.json | 2 +- vendor-bin/rector/composer.lock | 61 ++++++++++++++------------------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/vendor-bin/rector/composer.json b/vendor-bin/rector/composer.json index 345fb1a546..0db63ff2de 100644 --- a/vendor-bin/rector/composer.json +++ b/vendor-bin/rector/composer.json @@ -1,6 +1,6 @@ { "require-dev": { - "rector/rector": "^2.7.0", + "rector/rector": "~2.7.0", "nextcloud/rector": "^0.5.2" }, "autoload": { diff --git a/vendor-bin/rector/composer.lock b/vendor-bin/rector/composer.lock index 34acd71461..822da05d05 100644 --- a/vendor-bin/rector/composer.lock +++ b/vendor-bin/rector/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "aa8076bdf2e9393d89f73547c915816b", + "content-hash": "4b057c1fecbf729f2a7cde3d6350c5f1", "packages": [], "packages-dev": [ { @@ -54,8 +54,7 @@ "issues": "https://github.com/nextcloud-deps/ocp/issues", "source": "https://github.com/nextcloud-deps/ocp/tree/v34.0.5" }, - "time": "2026-10-06T03:44:04+00:00", - "published-time": "2026-10-16T02:06:59+00:00" + "time": "2026-10-06T03:44:04+00:00" }, { "name": "nextcloud/rector", @@ -120,16 +119,15 @@ "issues": "https://github.com/nextcloud-libraries/rector/issues", "source": "https://github.com/nextcloud-libraries/rector/tree/v0.5.2" }, - "time": "2026-06-15T06:39:12+00:00", - "published-time": "2026-06-15T06:40:19+00:00" + "time": "2026-06-15T06:39:12+00:00" }, { "name": "phpstan/phpstan", - "version": "2.3.4", + "version": "2.3.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f20ce6f3c82556cfcfc086b152445a12d1d64fff", - "reference": "f20ce6f3c82556cfcfc086b152445a12d1d64fff", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/18bc23a0682f08591529377d271b5c4dfe9ed1dd", + "reference": "18bc23a0682f08591529377d271b5c4dfe9ed1dd", "shasum": "" }, "require": { @@ -185,8 +183,7 @@ "type": "github" } ], - "time": "2026-10-28T22:38:53+00:00", - "published-time": "2026-10-28T22:39:06+00:00" + "time": "2026-10-24T11:36:00+00:00" }, { "name": "psr/clock", @@ -234,8 +231,7 @@ "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" }, - "time": "2022-11-25T14:36:26+00:00", - "published-time": "2022-11-25T14:59:22+00:00" + "time": "2022-11-25T14:36:26+00:00" }, { "name": "psr/container", @@ -288,8 +284,7 @@ "issues": "https://github.com/php-fig/container/issues", "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:47:00+00:00", - "published-time": "2021-11-05T16:53:27+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", @@ -339,8 +334,7 @@ "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "time": "2019-01-08T18:20:26+00:00", - "published-time": "2019-03-25T15:31:44+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { "name": "psr/http-client", @@ -392,8 +386,7 @@ "support": { "source": "https://github.com/php-fig/http-client" }, - "time": "2023-09-23T14:17:50+00:00", - "published-time": "2023-09-23T14:18:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-message", @@ -446,8 +439,7 @@ "support": { "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:54:51+00:00", - "published-time": "2023-04-04T09:55:35+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/log", @@ -497,26 +489,25 @@ "support": { "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2024-09-11T13:17:53+00:00", - "published-time": "2024-09-11T13:21:14+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "rector/rector", - "version": "2.8.3", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "12ddb68d34acb91bcf3d00302bf1c7c1b5840bd6" + "reference": "4d6a39b7fff302cac0ce90cd959a53c2f6a32776" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/12ddb68d34acb91bcf3d00302bf1c7c1b5840bd6", - "reference": "12ddb68d34acb91bcf3d00302bf1c7c1b5840bd6", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/4d6a39b7fff302cac0ce90cd959a53c2f6a32776", + "reference": "4d6a39b7fff302cac0ce90cd959a53c2f6a32776", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "phpstan/phpstan": "^2.3.4" + "phpstan/phpstan": "^2.3.0" }, "conflict": { "rector/rector-doctrine": "*", @@ -547,7 +538,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/2.8.3" + "source": "https://github.com/rectorphp/rector/tree/2.7.0" }, "funding": [ { @@ -555,8 +546,7 @@ "type": "github" } ], - "time": "2026-10-29T05:51:41+00:00", - "published-time": "2026-10-29T05:51:47+00:00" + "time": "2026-10-06T08:46:45+00:00" }, { "name": "webmozart/assert", @@ -614,16 +604,15 @@ "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.12.1" }, - "time": "2025-10-29T15:56:20+00:00", - "published-time": "2025-10-29T15:56:42+00:00" + "time": "2025-10-29T15:56:20+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "plugin-api-version": "2.11.0" + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.6.0" }