From cd5151f4f79bf4897468eff5d8aeb9b580b63af2 Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Wed, 21 Jan 2026 20:42:50 +0100 Subject: [PATCH] fix(ci): exclude WebDAV and SuperSync tests from build workflow WebDAV and SuperSync E2E tests require dedicated server infrastructure and should only run in the scheduled E2E workflow or manually. This prevents build failures when the required servers are not available. - Added @webdav tag to all WebDAV test files for consistent filtering - Updated build.yml to exclude @webdav and @supersync tagged tests --- .github/workflows/build.yml | 2 +- e2e/tests/sync/webdav-first-sync-conflict.spec.ts | 2 +- e2e/tests/sync/webdav-legacy-migration-sync.spec.ts | 2 +- e2e/tests/sync/webdav-sync-advanced.spec.ts | 2 +- e2e/tests/sync/webdav-sync-error-handling.spec.ts | 2 +- e2e/tests/sync/webdav-sync-expansion.spec.ts | 2 +- e2e/tests/sync/webdav-sync-full.spec.ts | 2 +- e2e/tests/sync/webdav-sync-tags.spec.ts | 2 +- e2e/tests/sync/webdav-sync-task-order.spec.ts | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4bfab6080..679678826 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: run: npm run test - name: Test E2E - run: npm run e2e + run: npx playwright test --config e2e/playwright.config.ts --grep-invert "@webdav|@supersync" - name: 'Upload E2E results on failure' if: ${{ failure() }} diff --git a/e2e/tests/sync/webdav-first-sync-conflict.spec.ts b/e2e/tests/sync/webdav-first-sync-conflict.spec.ts index f1a0dc97f..ecd6d4a57 100644 --- a/e2e/tests/sync/webdav-first-sync-conflict.spec.ts +++ b/e2e/tests/sync/webdav-first-sync-conflict.spec.ts @@ -20,7 +20,7 @@ import { waitForAppReady } from '../../utils/waits'; * 2. Client B has DIFFERENT data, sets up WebDAV sync to same folder * 3. Expected: Conflict dialog with "Use Local" vs "Use Remote" options */ -test.describe('WebDAV First Sync Conflict', () => { +test.describe('@webdav WebDAV First Sync Conflict', () => { test.describe.configure({ mode: 'serial' }); test('should show conflict dialog and allow USE_LOCAL to upload local data', async ({ diff --git a/e2e/tests/sync/webdav-legacy-migration-sync.spec.ts b/e2e/tests/sync/webdav-legacy-migration-sync.spec.ts index f491b42c6..834951396 100644 --- a/e2e/tests/sync/webdav-legacy-migration-sync.spec.ts +++ b/e2e/tests/sync/webdav-legacy-migration-sync.spec.ts @@ -30,7 +30,7 @@ import legacyDataCollisionB from '../../fixtures/legacy-migration-collision-b.js * * Run with: npm run e2e:file e2e/tests/sync/webdav-legacy-migration-sync.spec.ts -- --retries=0 */ -test.describe('@migration WebDAV Legacy Migration Sync', () => { +test.describe('@webdav @migration WebDAV Legacy Migration Sync', () => { test.describe.configure({ mode: 'serial' }); /** diff --git a/e2e/tests/sync/webdav-sync-advanced.spec.ts b/e2e/tests/sync/webdav-sync-advanced.spec.ts index e73010cf0..aad19d11f 100644 --- a/e2e/tests/sync/webdav-sync-advanced.spec.ts +++ b/e2e/tests/sync/webdav-sync-advanced.spec.ts @@ -9,7 +9,7 @@ import { generateSyncFolderName, } from '../../utils/sync-helpers'; -test.describe('WebDAV Sync Advanced Features', () => { +test.describe('@webdav WebDAV Sync Advanced Features', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' }); diff --git a/e2e/tests/sync/webdav-sync-error-handling.spec.ts b/e2e/tests/sync/webdav-sync-error-handling.spec.ts index 34937b772..6e442a90e 100644 --- a/e2e/tests/sync/webdav-sync-error-handling.spec.ts +++ b/e2e/tests/sync/webdav-sync-error-handling.spec.ts @@ -12,7 +12,7 @@ import { } from '../../utils/sync-helpers'; import { waitForStatePersistence } from '../../utils/waits'; -test.describe('WebDAV Sync Error Handling', () => { +test.describe('@webdav WebDAV Sync Error Handling', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' }); diff --git a/e2e/tests/sync/webdav-sync-expansion.spec.ts b/e2e/tests/sync/webdav-sync-expansion.spec.ts index 695323f4d..8d0ac24c7 100644 --- a/e2e/tests/sync/webdav-sync-expansion.spec.ts +++ b/e2e/tests/sync/webdav-sync-expansion.spec.ts @@ -15,7 +15,7 @@ import { const WEBDAV_TIMESTAMP_DELAY_MS = 2000; -test.describe('WebDAV Sync Expansion', () => { +test.describe('@webdav WebDAV Sync Expansion', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' }); diff --git a/e2e/tests/sync/webdav-sync-full.spec.ts b/e2e/tests/sync/webdav-sync-full.spec.ts index dd925f8dd..3a722651c 100644 --- a/e2e/tests/sync/webdav-sync-full.spec.ts +++ b/e2e/tests/sync/webdav-sync-full.spec.ts @@ -11,7 +11,7 @@ import { dismissTourIfVisible, } from '../../utils/sync-helpers'; -test.describe('WebDAV Sync Full Flow', () => { +test.describe('@webdav WebDAV Sync Full Flow', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' }); diff --git a/e2e/tests/sync/webdav-sync-tags.spec.ts b/e2e/tests/sync/webdav-sync-tags.spec.ts index 7d3c75c99..b5a6d7857 100644 --- a/e2e/tests/sync/webdav-sync-tags.spec.ts +++ b/e2e/tests/sync/webdav-sync-tags.spec.ts @@ -10,7 +10,7 @@ import { waitForSync, } from '../../utils/sync-helpers'; -test.describe('WebDAV Sync Tags', () => { +test.describe('@webdav WebDAV Sync Tags', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' }); diff --git a/e2e/tests/sync/webdav-sync-task-order.spec.ts b/e2e/tests/sync/webdav-sync-task-order.spec.ts index 3ac958dad..96cdeddb8 100644 --- a/e2e/tests/sync/webdav-sync-task-order.spec.ts +++ b/e2e/tests/sync/webdav-sync-task-order.spec.ts @@ -9,7 +9,7 @@ import { waitForSync, } from '../../utils/sync-helpers'; -test.describe('WebDAV Sync Task Order', () => { +test.describe('@webdav WebDAV Sync Task Order', () => { // Run sync tests serially to avoid WebDAV server contention test.describe.configure({ mode: 'serial' });