From c410d8ce85c2aba325a231584f98de666076b0fd Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 6 Oct 2026 17:33:14 +0200 Subject: [PATCH 1/2] fix(tests): run integration tests with the app's Behat The server's integration autoloader ships its own Behat version, which got mixed with the app's one and crashed the run. Signed-off-by: Arthur Schiwon Assisted-by: Claude Code:claude-opus-5-5 --- tests/integration/composer.json | 5 +++++ tests/integration/composer.lock | 5 ++++- tests/integration/features/bootstrap/ServerContext.php | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/integration/composer.json b/tests/integration/composer.json index 65d9401df0..253d30e8ca 100644 --- a/tests/integration/composer.json +++ b/tests/integration/composer.json @@ -7,6 +7,11 @@ "sabre/dav": "4.7.1", "symfony/event-dispatcher": "~5.4" }, + "config": { + "platform": { + "php": "8.4" + } + }, "autoload": { "psr-0": { "": [ diff --git a/tests/integration/composer.lock b/tests/integration/composer.lock index a7ca61a066..66da255ae0 100644 --- a/tests/integration/composer.lock +++ b/tests/integration/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": "839455dfcb498db165e5d844937674ce", + "content-hash": "7a17f7de122022f25e3eee8f72d03099", "packages": [], "packages-dev": [ { @@ -5108,5 +5108,8 @@ "prefer-lowest": false, "platform": {}, "platform-dev": {}, + "platform-overrides": { + "php": "8.4.1" + }, "plugin-api-version": "2.9.0" } diff --git a/tests/integration/features/bootstrap/ServerContext.php b/tests/integration/features/bootstrap/ServerContext.php index d2828cff63..dcd28be72b 100644 --- a/tests/integration/features/bootstrap/ServerContext.php +++ b/tests/integration/features/bootstrap/ServerContext.php @@ -4,6 +4,12 @@ use GuzzleHttp\Cookie\CookieJar; require_once __DIR__ . '/../../vendor/autoload.php'; +require_once __DIR__ . '/../../../../../../build/integration/features/bootstrap/autoload.php'; + +// The server's integration autoloader ships its own Behat; keep the app's version in front +$appLoader = require __DIR__ . '/../../vendor/autoload.php'; +$appLoader->unregister(); +$appLoader->register(true); class ServerContext implements Context { use WebDav { From f2f4e82620fd5053acf78c3e882e8fe2fb80ef20 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 6 Oct 2026 17:33:14 +0200 Subject: [PATCH 2/2] ci: add integration summary job Signed-off-by: Arthur Schiwon Assisted-by: Claude Code:claude-opus-5-5 --- .github/workflows/integration.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 5132e03f37..0947bfa2ba 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -168,3 +168,17 @@ jobs: body: comment }) } + + summary: + permissions: + contents: none + runs-on: ubuntu-latest-low + needs: [integration] + + if: always() + + name: integration-summary + + steps: + - name: Summary status + run: if ${{ needs.integration.result != 'success' }}; then exit 1; fi