From a237d561f321e8beaaa7897b06acbf28298d6c22 Mon Sep 17 00:00:00 2001 From: Julius Knorr Date: Sat, 7 Jun 2025 08:32:43 +0200 Subject: [PATCH 1/4] fix: Run on newer ubuntu Signed-off-by: Julius Knorr --- .github/workflows/docker.yml | 8 +----- tests/package-lock.json | 54 ++++++++++++++++++++---------------- tests/package.json | 4 +-- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c4ae62b3..b43ccc32 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -14,9 +14,7 @@ on: jobs: push_to_registry: name: Build image - # FIXME: currently there are playwright issues with ubuntu-latest - # https://github.com/microsoft/playwright/issues/30368 closed but still an issue - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest if: github.repository == 'juliusknorr/nextcloud-docker-dev' strategy: fail-fast: false @@ -50,10 +48,6 @@ jobs: uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - # TODO: remove this when https://github.com/actions/runner-images/issues/11471 - with: - platforms: linux/arm64 - image: tonistiigi/binfmt:qemu-v7.0.0-28 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Cache Docker layers diff --git a/tests/package-lock.json b/tests/package-lock.json index b0f3d12e..83661169 100644 --- a/tests/package-lock.json +++ b/tests/package-lock.json @@ -9,32 +9,34 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.40.1", - "@types/node": "^20.10.2" + "@playwright/test": "^1.52.0", + "@types/node": "^22.15.30" } }, "node_modules/@playwright/test": { - "version": "1.40.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.1.tgz", - "integrity": "sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.52.0.tgz", + "integrity": "sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "playwright": "1.40.1" + "playwright": "1.52.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@types/node": { - "version": "20.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.2.tgz", - "integrity": "sha512-37MXfxkb0vuIlRKHNxwCkb60PNBpR94u4efQuN4JgIAm66zfCDXGSAFCef9XUWFovX2R1ok6Z7MHhtdVXXkkIw==", + "version": "22.15.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.30.tgz", + "integrity": "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.21.0" } }, "node_modules/fsevents": { @@ -43,6 +45,7 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -52,40 +55,43 @@ } }, "node_modules/playwright": { - "version": "1.40.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz", - "integrity": "sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.52.0.tgz", + "integrity": "sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.40.1" + "playwright-core": "1.52.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" }, "optionalDependencies": { "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.40.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz", - "integrity": "sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.52.0.tgz", + "integrity": "sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==", "dev": true, + "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" } } } diff --git a/tests/package.json b/tests/package.json index c9e30c87..d56cc616 100644 --- a/tests/package.json +++ b/tests/package.json @@ -8,7 +8,7 @@ "author": "", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.40.1", - "@types/node": "^20.10.2" + "@playwright/test": "^1.52.0", + "@types/node": "^22.15.30" } } From 94dd17a50b9ed36560c1d52571241dc1215af21f Mon Sep 17 00:00:00 2001 From: Julius Knorr Date: Sat, 7 Jun 2025 08:39:52 +0200 Subject: [PATCH 2/4] fix: Workaround for running latest onlyoffice Signed-off-by: Julius Knorr --- docker-compose.yml | 2 +- docker/nginx/my_proxy.conf | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8ed1e860..5e76397d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -851,7 +851,7 @@ services: tail -f /dev/null onlyoffice: - image: onlyoffice/documentserver:8.2 + image: onlyoffice/documentserver:latest environment: VIRTUAL_HOST: onlyoffice${DOMAIN_SUFFIX} USE_UNAUTHORIZED_STORAGE: "true" diff --git a/docker/nginx/my_proxy.conf b/docker/nginx/my_proxy.conf index ac4da271..5a1edbbc 100644 --- a/docker/nginx/my_proxy.conf +++ b/docker/nginx/my_proxy.conf @@ -6,3 +6,6 @@ proxy_send_timeout 3600; proxy_connect_timeout 3600; proxy_set_header X-Forwarded-Proto $scheme; +# FIXME: remove this when onlyoffice is fixed https to http proxying +# https://github.com/ONLYOFFICE/DocumentServer/issues/2186 +proxy_set_header CloudFront-Forwarded-Proto $scheme; \ No newline at end of file From 6657a112d0f067d0d308065218120cfd965318bf Mon Sep 17 00:00:00 2001 From: Julius Knorr Date: Sat, 7 Jun 2025 09:57:31 +0200 Subject: [PATCH 3/4] fix: Install latest node Signed-off-by: Julius Knorr --- docker/Dockerfile.php.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.php.template b/docker/Dockerfile.php.template index 67b15785..2b4b0bf3 100644 --- a/docker/Dockerfile.php.template +++ b/docker/Dockerfile.php.template @@ -43,8 +43,8 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \ && export NVM_DIR="/root/.nvm" \ && . "$NVM_DIR/nvm.sh" \ - && nvm install 20 \ - && nvm alias default 20 + && nvm install node \ + && nvm alias default node RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json From 3b0ecdd42a7aaf50ab9c6be020f58fce88331397 Mon Sep 17 00:00:00 2001 From: Julius Knorr Date: Sat, 7 Jun 2025 12:03:47 +0200 Subject: [PATCH 4/4] test: Fix playwright selector Signed-off-by: Julius Knorr --- tests/login.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/login.spec.ts b/tests/login.spec.ts index 4a64eba4..4ba37a48 100644 --- a/tests/login.spec.ts +++ b/tests/login.spec.ts @@ -7,13 +7,13 @@ test.beforeEach(async ({ page }) => { test.describe('New Todo', () => { test('see the nextcloud login page', async ({ page }) => { - await expect(page).toHaveTitle('Login – Nextcloud'); + await expect(page).toHaveTitle('Login – Nextcloud'); }); test('login to nextcloud as admin', async ({ page }) => { await page.fill('#user', 'admin'); await page.fill('#password', 'admin'); - await page.getByRole('button', { name: 'Log in' }).click(); + await page.getByRole('button', { name: 'Log in', exact: true }).click(); await page.goto('http://nextcloud.local/index.php/apps/files'); }); }); \ No newline at end of file