From 7418c03f2ee9631b8ccf18771bc44c6e6b3a66a2 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 6 May 2026 18:59:20 +0200 Subject: [PATCH 1/5] tests: remove fragile pre-release tests as we do not keep them anymore on the download server Signed-off-by: Arthur Schiwon --- .github/workflows/test-stable.yml | 2 +- Makefile | 4 ++-- README.md | 10 +++++----- tests/features/bootstrap/FeatureContext.php | 18 +++++++++++------ tests/features/stable27.feature | 12 +---------- tests/features/stable28.feature | 22 --------------------- tests/features/stable31.feature | 21 ++++++++++++++++++++ 7 files changed, 42 insertions(+), 47 deletions(-) delete mode 100644 tests/features/stable28.feature create mode 100644 tests/features/stable31.feature diff --git a/.github/workflows/test-stable.yml b/.github/workflows/test-stable.yml index 641a1270..6a2b7d9f 100644 --- a/.github/workflows/test-stable.yml +++ b/.github/workflows/test-stable.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: php-versions: ["8.2", "8.3"] - nextcloud-versions: ["26", "27", "28"] + nextcloud-versions: ["26", "27", "31"] exclude: - php-versions: "8.3" nextcloud-versions: "26" diff --git a/Makefile b/Makefile index 273f7e7c..3978439a 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,8 @@ test-stable26: updater.phar test/vendor test-stable27: updater.phar test/vendor cd tests && ../vendor/bin/behat features/stable27.feature -test-stable28: updater.phar test/vendor - cd tests && ../vendor/bin/behat features/stable28.feature +test-stable31: updater.phar test/vendor + cd tests && ../vendor/bin/behat features/stable31.feature test-master: updater.phar test/vendor cd tests && ../vendor/bin/behat features/master.feature diff --git a/README.md b/README.md index 4c23de2e..b09c7fc1 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The Updater can be accessed via the Web UI as well as the command line. It may b ## Known issues -* The `createBackup` step, which is **not** intended to backup user data, currently can slow down the larger the `datadirectory` gets (nextcloud/updater#507) +* The `createBackup` step, which is **not** intended to backup user data, currently can slow down the larger the `datadirectory` gets (nextcloud/updater#507) * The `deleteOldFiles` step, which does not actually touch user data, currently can slow down the larger the `datadirectory` gets (nextcloud/updater#397) * Multiple `*.config.php` files are currently not supported / ignored (nextcloud/updater#384) * In some environments, the current iterator implementation may fail (nextcloud/updater#519) @@ -236,7 +236,7 @@ check in the resulting `/updater.phar`. #### Server components -Keep in mind that for the update/upgrade process there are some additional components that aren't part of the Updater app (nor necessarily part of +Keep in mind that for the update/upgrade process there are some additional components that aren't part of the Updater app (nor necessarily part of `occ upgrade` itself): * The Web-based update overview/notification page: @@ -281,7 +281,7 @@ The available test targets are: | `make test-cli` | Runs only the CLI updater tests (`features/cli.feature`) | | `make test-stable26` | Tests update path for stable26 | | `make test-stable27` | Tests update path for stable27 | -| `make test-stable28` | Tests update path for stable28 | +| `make test-stable31` | Tests update path for stable31 | | `make test-master` | Tests update path for master | | `make test-user.ini` | Tests `.user.ini` handling (`features/user.ini.feature`) | | `make check-same-code-base` | Verifies `/index.php` is in sync with `/lib/*.php` + `/index.web.php` | @@ -352,14 +352,14 @@ usually means: ### Unable to use the built-in Updater If the built-in Updater does not function reliably for your environment, the old reliable (albeit admittedly tedious) [manual update](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/manual_upgrade.html) process may be your best alternative. -This was the primary way of keeping Nextcloud Server up-to-date before the automated Updater was developed. In addition, if Updater does not work in your environment, report the details of your situation to https://github.com/nextcloud/updater/issues so that +This was the primary way of keeping Nextcloud Server up-to-date before the automated Updater was developed. In addition, if Updater does not work in your environment, report the details of your situation to https://github.com/nextcloud/updater/issues so that consideration can be given to adapting Updater to a wider variety of environments. ### Updater != `occ upgrade` The `occ upgrade` command runs the database migrations which adapt your existing database to the updated version Nextcloud Server that is deployed by the Updater (or via a manual update). -Despite the confusing naming - which makes sense technically, but in hindsight may not have been the best to avoid confusion - the Updater *must* run (and completely successfully) before `occ upgrade` will have anything to do. +Despite the confusing naming - which makes sense technically, but in hindsight may not have been the best to avoid confusion - the Updater *must* run (and completely successfully) before `occ upgrade` will have anything to do. ## Help & Contributing diff --git a/tests/features/bootstrap/FeatureContext.php b/tests/features/bootstrap/FeatureContext.php index f8560815..86878d47 100644 --- a/tests/features/bootstrap/FeatureContext.php +++ b/tests/features/bootstrap/FeatureContext.php @@ -242,18 +242,24 @@ public function getSignatureForVersion(string $version): string { vJJ8XVSDOlNNKjcgvcUMrsDItXioSwBst6vTdR5IKLAFivlb7HYLUN48R9h57QM2 v8X/N49mF+Wk3PQa19wBVsUFYkaQuG9FTjUVgvp8bgv3s9rhrOLJa5KUOpdcodgZ faeql723PcZEzPJ3dzisSw==', - '28.0.0beta4' => 'tguTYQ9w6cpQITNbVphOYsHGTvYPDi8aznjUM8Xyxi0HTIuK3WPBTdgrn7jPTC5+ -JlwoyTQTRI2ut0SvEzVK5OrKTotPtNaNRSwpo0VAtuavEAWK6ZtH0g5oujHDyn/7 -7S149qpPkbir6Lf7qMSSje92CF1LFOQDEqXW9HibfRVzMvTk2iTz//cTVcnyTxgi -QbK5O5wLmo7Gp8UNZsHL6CXTHo7p8zd8I2T86poJAttgwGIGJ0rQe1AYh/kJEOEz -CAzl6Rd033pBht1t9Y9mFfnWd70a4v9stSdhCwVo08fqxOcoJrCZQ4wwEWN3ReYj -/xB2sIdvkLkDyESNNzmhmg==', '28.0.14' => 'e3wnEZE0ooyNX8CpsSEgXafLoOU/U+zORUyeqKczWuuf2Srq4edl2SCaQgvdSLsG DZo8h9LLEsh544/NyS8VOY7aJVqR2JOC4bUyztfNTnlppRLVTCIXx053Eht9+neN pYlPy8hBK+KBLoN7q3WYcWL1QOIrUAzgxhjwshMrTxNrHi8Nq7g37iZUzhPU5HWw MUID9gsQnT+aFurooLVvWMM8Ad0RkU72i5Y7I80c+v/2MYE9rxUmNC54noVePvrj R8zf/PC+Yj1vxFZ0hYAtweLgBxfwU5cNBYfH7M1I9FLlb88p/XDWx6XaBz4Ql6LK lbpDxNE9UiM09JG1dU7Ebg==', + '31.0.7' => 'G1fL3cfRZNJt9yidE5cw5q/H+QSgyBZlo7KcUC0oZv0KB38P13h81myb9Ynf6r+f +dojgY+VJr7ioKzjohjG0BBzZNGl08mdECywI0DrVEwwYOg5x4BYvUIyGpAuQgijW +SoNnqZDlStK5tE70PKPR6s5KbA+aKyFmuchQrQCbWnhyAfyiYEZBATt4Rkdk3neP +t3sSM5Io+IwcD+aURjrCFd+j2JBvBKZi0dDwsQ81kUAF8CibVtQRRFJPSDeBZi2Q ++VMklACmI5DrMYwR+JA9q4l8XztwGanC97OT0glU/esvMccJ6qgSb0sFziDsiK28 +h4+1uFMEVz5dK0TY59GYLg==', + '31.0.14' => 'oM4xe+KQxwzwGXq0JwYbt6xRsgu4Ejf9vrdNrNPZB/dnEDq/EWFLBJXoiq4Hfq+x +IrJz+Cok4RjPg/NdNl/A+fWC47aJh+gPZUw0BITf8GZ/BeAzdlyxUG9+VrIMYEAR +r93DL16y1mCk7dkkMC/a8DT5/orqXnWIP38wgXzbU+DcyA9eCq28+aSz25MLYSHR +edNnmki3ovqsa4K6/5D+RvcXXwn4/xnk5Dboi8akNSEnXfmTpTJs8D8HqAXBrukl +PA45206JcfSACC5ePc0ZfUPrV3ToKFlijsBdIsuNgpzmOIwukB4MUO+RLyk4lPOG +ZwCpfYewGDvrElT50aJYkA==', ]; return $signatures[$version] ?? ''; diff --git a/tests/features/stable27.feature b/tests/features/stable27.feature index ce643178..b22827f1 100644 --- a/tests/features/stable27.feature +++ b/tests/features/stable27.feature @@ -2,16 +2,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later Feature: CLI updater - stable27 base - Scenario: Update is available - 27.0.0 beta1 to 27.0.1 RC1 - Given the current installed version is 27.0.0beta1 - And there is an update to prerelease version "27.0.1rc1" available - And the version number is decreased in the config.php to enforce upgrade - When the CLI updater is run successfully - And the output should contain "Update successful" - Then the installed version should be 27.0 - And maintenance mode should be off - And upgrade is not required - Scenario: Update is available but unexpected folder found - 27.1.6 to 27.1.11 Given the current installed version is 27.1.6 And there is an update to version 27.1.11 available @@ -44,7 +34,7 @@ Feature: CLI updater - stable27 base And upgrade is not required Scenario: Update is available - 27.1.0 to beta - Given the current installed version is 27.1.0rc1 + Given the current installed version is 27.1.0 And PHP is at least in version 8.0 And the current channel is "beta" And there is an update to version 28.0.14 available diff --git a/tests/features/stable28.feature b/tests/features/stable28.feature deleted file mode 100644 index 289694e8..00000000 --- a/tests/features/stable28.feature +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors -# SPDX-License-Identifier: AGPL-3.0-or-later -Feature: CLI updater - stable28 base - - Scenario: Update is available - 28.0.0 beta 3 to 28.0.0 beta 4 - Given the current installed version is 28.0.0beta3 - And there is an update to prerelease version "28.0.0beta4" available - And the version number is decreased in the config.php to enforce upgrade - When the CLI updater is run successfully - And the output should contain "Update successful" - Then the installed version should be 28.0 - And maintenance mode should be off - And upgrade is not required - - Scenario: Update is available - 28.0.0 RC 1 to 28.0.14 - Given the current installed version is 28.0.0rc1 - And there is an update to version 28.0.14 available - When the CLI updater is run successfully - And the output should contain "Update successful" - Then the installed version should be 28.0 - And maintenance mode should be off - And upgrade is not required diff --git a/tests/features/stable31.feature b/tests/features/stable31.feature new file mode 100644 index 00000000..3b72eede --- /dev/null +++ b/tests/features/stable31.feature @@ -0,0 +1,21 @@ +# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: AGPL-3.0-or-later +Feature: CLI updater - stable31 base + + Scenario: Update is available - 31.0.7 to 31.0.14 + Given the current installed version is 31.0.7 + And there is an update to version 31.0.14 available + When the CLI updater is run successfully + And the output should contain "Update successful" + Then the installed version should be 31.0.14 + And maintenance mode should be off + And upgrade is not required + +Scenario: Update is available - 30.0.17 to 31.0.14 + Given the current installed version is 30.0.17 + And there is an update to version 31.0.14 available + When the CLI updater is run successfully + And the output should contain "Update successful" + Then the installed version should be 31.0.14 + And maintenance mode should be off + And upgrade is not required From 956e6f192376d8687aca04273eb0803586e64fa1 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 6 May 2026 19:00:49 +0200 Subject: [PATCH 2/5] build: ignore IDE files Signed-off-by: Arthur Schiwon --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 75a13176..8b6e4ea9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors # SPDX-FileCopyrightText: 2015 ownCloud, Inc. # SPDX-License-Identifier: AGPL-3.0-or-later +/.idea /box /lib/Version.php /tests/data From 884bceaacc93c877bb0fc8b197b29556ca6db90e Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 6 May 2026 19:04:42 +0200 Subject: [PATCH 3/5] ci(composer): run box with current php version Signed-off-by: Arthur Schiwon --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index d05b7108..f22114c7 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "symfony/console": "^6.4" }, "scripts": { - "box": "box compile -c box.json", + "box": "@php box compile -c box.json", "cs:check": "php-cs-fixer fix --dry-run --diff", "cs:fix": "php-cs-fixer fix", "lint": "find . -name \\*.php -not -path './vendor*' -not -path './build/*' -not -path './node_modules/*' -print0 | xargs -0 -n1 php -l", From 4afb7d91b9968cfaf201016a67c1de50f99288d5 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 6 May 2026 19:17:55 +0200 Subject: [PATCH 4/5] build(phar): regenerate updater Signed-off-by: Arthur Schiwon --- updater.phar | Bin 1325351 -> 1325355 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/updater.phar b/updater.phar index 3d00cc6925fbc6b37309e6416afd31be67b8346b..11bd0f4bf13b02dae6250f80ced18ba2721590a7 100755 GIT binary patch delta 8143 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 delta 8095 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 R>%DflR>FOp%g-sy`9Fto5qbas From cd1f57a5e32535c20248578a3cb2f2007f4ee947 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 6 May 2026 19:27:07 +0200 Subject: [PATCH 5/5] tests: run user.ini against a proper release Signed-off-by: Arthur Schiwon --- tests/features/user.ini.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/features/user.ini.feature b/tests/features/user.ini.feature index e391bb40..2bb40d3e 100644 --- a/tests/features/user.ini.feature +++ b/tests/features/user.ini.feature @@ -3,7 +3,7 @@ Feature: CLI updater - user.ini retention test Scenario: User.ini retention after update - Given the current installed version is 26.0.0rc1 + Given the current installed version is 26.0.2 Given the config key "user_ini_additional_lines" is set to "upload_max_filesize = 10G\npost_max_size = 10G" of type "string" And there is an update to version 26.0.13 available When the CLI updater is run successfully