From 5b84532f6649b03d603178e5f0be8804c83630fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 8 Oct 2026 13:36:09 +0200 Subject: [PATCH 1/3] fix: CI hang on playwright browser install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel Müller --- .github/workflows/docker.yml | 1 + tests/package-lock.json | 48 +++++++++++------------------------- tests/package.json | 2 +- 3 files changed, 17 insertions(+), 34 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6af6773e..13c2f9c3 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -129,6 +129,7 @@ jobs: run: npm ci - name: Install Playwright Browsers if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + timeout-minutes: 15 working-directory: tests run: npx playwright install --with-deps - name: Run Playwright tests diff --git a/tests/package-lock.json b/tests/package-lock.json index 4cb86908..988de070 100644 --- a/tests/package-lock.json +++ b/tests/package-lock.json @@ -9,24 +9,24 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.52.0", + "@playwright/test": "^1.64.0", "@types/node": "^22.15.30" } }, "node_modules/@playwright/test": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.56.1.tgz", - "integrity": "sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==", + "version": "1.64.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.64.0.tgz", + "integrity": "sha512-oTN9FNYuN6bqQMwiho6jJKLCG2/QOYCixGXuCjRmzOq23eODeukuY2XiAVoVpAECbuezMt1MHQjAiQxK8F+Y+g==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.56.1" + "playwright": "1.64.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/@types/node": { @@ -39,51 +39,33 @@ "undici-types": "~6.21.0" } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/playwright": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz", - "integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==", + "version": "1.64.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.0.tgz", + "integrity": "sha512-kVzTnYFYEyQ9RGzBjNCd2+yEqWmVbxl3AHPynv3qQ6JTjv4a+kwRcnqQwIpuP3NnrnIrE/Q6wWAIAvMfIE2/Yg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.56.1" + "playwright-core": "1.64.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">=20" } }, "node_modules/playwright-core": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz", - "integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==", + "version": "1.64.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.0.tgz", + "integrity": "sha512-T9r+MZkTECl2+oUcZ26YgZzTrYidTsIhYYkJix+6iDOymOb1FB2RLLSOxRGnZGv5DStt+aduIVbt+E8WygXYpg==", "dev": true, "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/undici-types": { diff --git a/tests/package.json b/tests/package.json index d56cc616..9c8f2b3b 100644 --- a/tests/package.json +++ b/tests/package.json @@ -8,7 +8,7 @@ "author": "", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.52.0", + "@playwright/test": "^1.64.0", "@types/node": "^22.15.30" } } From 47c1bf7677c4be06c2fa6cd3c827abdb17956cb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 8 Oct 2026 16:00:30 +0200 Subject: [PATCH 2/3] fix: PHP 8.3 is now minimum by server master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel Müller --- .github/workflows/docker.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 13c2f9c3..3b9a10ce 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -100,13 +100,13 @@ jobs: cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new - name: Start containers with docker compose - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' run: | ./bootstrap.sh PHP_VERSION=$(echo ${{ matrix.container }} | sed -e 's/^php//') echo "PHP_VERSION=${PHP_VERSION}" >> .env - # exit if php version is not numeric or below 80 or above 84 to only test against supported ones in server master - if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 80 ]] || [[ $PHP_VERSION -gt 84 ]]; then + # exit if php version is not numeric or below 83 or above 85 to only test against supported ones in server master + if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 83 ]] || [[ $PHP_VERSION -gt 85 ]]; then exit 0 fi docker compose up -d nextcloud @@ -119,25 +119,30 @@ jobs: sleep 1 done curl http://nextcloud.local/status.php + if ! curl -s http://nextcloud.local/index.php/login | grep -q 'Login'; then + echo "::error::Nextcloud did not come up within 5 minutes" + docker compose logs nextcloud | tail -100 + exit 1 + fi - uses: actions/setup-node@v6 - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' with: node-version: latest - name: Install dependencies - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' working-directory: tests run: npm ci - name: Install Playwright Browsers - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' timeout-minutes: 15 working-directory: tests run: npx playwright install --with-deps - name: Run Playwright tests - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' working-directory: tests run: npx playwright test - uses: actions/upload-artifact@v6 - if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84' + if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' with: name: playwright-report-${{ matrix.container }} path: tests/playwright-report/ From 1e68629e1f2e913264808d505ed5da6801074240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 8 Oct 2026 16:52:06 +0200 Subject: [PATCH 3/3] chore: Remove 15 minute timeout again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel Müller --- .github/workflows/docker.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3b9a10ce..82c7d54e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -134,7 +134,6 @@ jobs: run: npm ci - name: Install Playwright Browsers if: matrix.container == 'php83' || matrix.container == 'php84' || matrix.container == 'php85' - timeout-minutes: 15 working-directory: tests run: npx playwright install --with-deps - name: Run Playwright tests