From d532c0554a5f176c98731ea63f2bce3ed31bfa86 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 2 Jul 2026 12:19:48 +0200 Subject: [PATCH 1/3] chore: prepare v0.5.0 Signed-off-by: Ferdinand Thiessen --- CHANGELOG.md | 38 +++++++++++++++++++++++++++++++++++--- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4462eb4..5a69db58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,38 @@ All notable changes to this project will be documented in this file. +## v0.5.0 - 2026-07-02 +### Breaking changes +`runExec` and `runOcc` now return an object instead of the plain output string. +The response object has the following format: +```ts +interface ExecResponse { + /** The stdout messages */ + stdout: string + /** The stderr messages */ + stderr: string + /** The exit code of the command */ + exitCode: number +} +``` + +By default both commands fail if the command exists with a non-zero exit code, +this can be disabled with `failOnError: false` on the command options. + +### Fixed +* fix!(docker): clean up exec output handling and remove app:list workaround \([\#985](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/985)\) +* fix(playwright): make login method more robust \([\#1034](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/1034)\) +* fix(docker): allow to install all shipped apps in `configureNextcloud` \([\#1039](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/1039)\) +* fix(docker): add special handling for server usage \([\#1040](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/1040)\) + +### Changed +* ci: updated workflows +* Updated dependencies + * Bump axios to 1.16.0 + * Bump wait-on to 9.0.10 + * Bump @nextcloud/paths to 3.1.0 + * Bump fast-xml-parser to 5.9.3 + * Bump dockerode to 5.0.1 ## v0.4.0 - 2025-10-21 ### Notes @@ -27,8 +59,8 @@ Instead use role based selectors like `cy.findByRole` from `@testing-library/cyp ### Changed - chore: adjust node versions \([#869](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/869)\) - chore: simplify build process by use vite \([#870](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/870)\) -- ci: update reuse.yml workflow from template \([#862](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/862)\) -- ci: update npm-publish.yml workflow from template \([#863](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/863)\) +- ci: update reuse.yml workflow \([#862](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/862)\) +- ci: update npm-publish.yml workflow \([#863](https://github.com/nextcloud-libraries/nextcloud-e2e-test-server/pull/863)\) - chore(deps): Bump fast-xml-parser to 5.2.5 - chore(deps): Bump pbkdf2 to 3.1.3 - chore(deps): Bump tmp to 0.2.4 @@ -50,7 +82,7 @@ Instead use role based selectors like `cy.findByRole` from `@testing-library/cyp - feat: User.createRandom(), use User in docker addUser - feat(e2e-test-server): Rename package and move to separate branch - feat(playwright): `createRandomUser()` and `login()` -- feat!: Export docker functions from main entry +- feat!: Export docker functions entry ### Changed - test: docker tooling with playwright (f60d530) diff --git a/package-lock.json b/package-lock.json index 663f88a9..041af949 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@nextcloud/e2e-test-server", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@nextcloud/e2e-test-server", - "version": "0.4.0", + "version": "0.5.0", "license": "AGPL-3.0-or-later", "dependencies": { "@nextcloud/paths": "^3.1.0", diff --git a/package.json b/package.json index cf12f577..70251c71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nextcloud/e2e-test-server", - "version": "0.4.0", + "version": "0.5.0", "description": "Nextcloud e2e test server and utils for cypress and playwright", "keywords": [ "nextcloud", From e0c9ea9209ef2b7f5e46ab67028ae009a611e966 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 2 Jul 2026 14:15:00 +0200 Subject: [PATCH 2/3] chore: remove debug artifact Signed-off-by: Ferdinand Thiessen --- lib/docker.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/docker.ts b/lib/docker.ts index 6e4f00ed..f2bf8c7b 100644 --- a/lib/docker.ts +++ b/lib/docker.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ /** * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -262,7 +261,7 @@ export async function configureNextcloud(apps = ['viewer'], vendoredBranch?: str console.log('│ └─ OK !') // Build app list - const { stdout: json } = await runOcc(['app:list', '--output', 'json'], { container, verbose: true }) + const { stdout: json } = await runOcc(['app:list', '--output', 'json'], { container }) const applist = JSON.parse(json) const mountedAppsFolder = (await container.inspect()).Config.Volumes?.apps_writable !== undefined From 2683c6e60eb774cc11e3d8d3010add13b4412cd3 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 2 Jul 2026 16:11:14 +0200 Subject: [PATCH 3/3] test(docker): fix stdout parsind for apps list Signed-off-by: Ferdinand Thiessen --- tests/docker.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/docker.spec.ts b/tests/docker.spec.ts index e533b1a7..ad8e77cb 100644 --- a/tests/docker.spec.ts +++ b/tests/docker.spec.ts @@ -40,6 +40,6 @@ describe('Docker: Pre-installation of apps', async () => { }) async function getAppsList(): Promise<{ enabled: Record; disabled: Record }> { - const list = await runOcc(['app:list', '--output=json'], { failOnError: true }) - return JSON.parse(list) + const { stdout } = await runOcc(['app:list', '--output=json'], { failOnError: true }) + return JSON.parse(stdout) }