feat(core): Introduce database mode for binary data storage
#46038
Triggered via pull request
November 24, 2025 18:01
Status
Success
Total duration
25m 33s
Artifacts
–
ci-pull-requests.yml
on: pull_request
Install & Build
3m 12s
Matrix: Unit tests / unit-test-frontend
Unit tests
/
Backend Unit Tests
6m 13s
Unit tests
/
Backend Integration Tests
4m 57s
Unit tests
/
Nodes Unit Tests
6m 59s
Bundle Size Check
0s
Matrix: E2E Tests / test
E2E - Checks
2s
Annotations
7 errors, 1 warning, and 8 notices
|
[ui] › tests/ui/7-workflow-actions.spec.ts:344:6 › Workflow Actions › should archive active workflow and then delete it:
packages/testing/playwright/tests/ui/7-workflow-actions.spec.ts#L354
1) [ui] › tests/ui/7-workflow-actions.spec.ts:344:6 › Workflow Actions › should archive active workflow and then delete it
TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
- waiting for getByTestId('workflow-menu')
- locator resolved to <div data-v-c8d5a669="" data-test-id="workflow-menu" class="action-dropdown-container">…</div>
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="dialog" aria-modal="true" class="el-overlay-dialog" aria-labelledby="el-id-3684-160" aria-describedby="el-id-3684-161">…</div> from <div id="app-modals" class="_modals_jj6dn_188">…</div> subtree intercepts pointer events
- retrying click action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="dialog" aria-modal="true" class="el-overlay-dialog" aria-labelledby="el-id-3684-160" aria-describedby="el-id-3684-161">…</div> from <div id="app-modals" class="_modals_jj6dn_188">…</div> subtree intercepts pointer events
- retrying click action
- waiting 100ms
38 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="dialog" aria-modal="true" class="el-overlay-dialog" aria-labelledby="el-id-3684-160" aria-describedby="el-id-3684-161">…</div> from <div id="app-modals" class="_modals_jj6dn_188">…</div> subtree intercepts pointer events
- retrying click action
- waiting 500ms
352 |
353 | await expect(n8n.workflowSettingsModal.getWorkflowMenu()).toBeVisible();
> 354 | await n8n.workflowSettingsModal.getWorkflowMenu().click();
| ^
355 | await n8n.workflowSettingsModal.clickArchiveMenuItem();
356 | await n8n.workflowSettingsModal.confirmArchiveModal();
357 |
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/7-workflow-actions.spec.ts:354:53
|
|
[ui] › tests/ui/17-workflow-tags.spec.ts:6:6 › Workflow tags - Tag creation › should create and attach tags inline:
packages/testing/playwright/tests/ui/17-workflow-tags.spec.ts#L29
1) [ui] › tests/ui/17-workflow-tags.spec.ts:6:6 › Workflow tags - Tag creation › should create and attach tags inline, then add more incrementally
Error: expect(locator).toHaveCount(expected) failed
Locator: getByTestId('workflow-tags-container').locator('.el-tag:not(.count-container)')
Expected: 3
Received: 0
Timeout: 10000ms
Call log:
- Expect "toHaveCount" with timeout 10000ms
- waiting for getByTestId('workflow-tags-container').locator('.el-tag:not(.count-container)')
14 × locator resolved to 0 elements
- unexpected value "0"
27 | await n8n.canvas.clickOutsideModal();
28 |
> 29 | await expect(n8n.canvas.getTagPills()).toHaveCount(3);
| ^
30 |
31 | // Pills should be rendered individually, not collapsed as "+3"
32 | const tagsContainer = n8n.page.getByTestId('workflow-tags-container');
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/17-workflow-tags.spec.ts:29:42
|
|
[ui] › tests/ui/5-ndv.spec.ts:649:7 › NDV › Node Creator Integration › Should open appropriate node creator after clicking on connection hint link:
packages/testing/playwright/pages/CanvasPage.ts#L196
1) [ui] › tests/ui/5-ndv.spec.ts:649:7 › NDV › Node Creator Integration › Should open appropriate node creator after clicking on connection hint link
TimeoutError: locator.dblclick: Timeout 20000ms exceeded.
Call log:
- waiting for locator('[data-test-id="canvas-node"][data-node-name="Vector Store"]')
- locator resolved to <div data-v-726dbe6e="" data-test-id="canvas-node" class="_canvasNode_1k8iq_123" data-node-name="Vector Store" data-node-type="@n8n/n8n-nodes-langchain.vectorStoreSupabase">…</div>
- attempting dblclick action
2 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div draggable="true" data-v-f6e3257f="" data-test-id="node-creator-node-item" class="_creatorNode_b7tre_123 _hasAction_b7tre_130 _nodeItem_4xp4b_123 _nodeItem_4xp4b_123">…</div> from <div>…</div> subtree intercepts pointer events
- retrying dblclick action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div draggable="true" data-v-f6e3257f="" data-test-id="node-creator-node-item" class="_creatorNode_b7tre_123 _hasAction_b7tre_130 _nodeItem_4xp4b_123 _nodeItem_4xp4b_123">…</div> from <div>…</div> subtree intercepts pointer events
- retrying dblclick action
- waiting 100ms
38 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div draggable="true" data-v-f6e3257f="" data-test-id="node-creator-node-item" class="_creatorNode_b7tre_123 _hasAction_b7tre_130 _nodeItem_4xp4b_123 _nodeItem_4xp4b_123">…</div> from <div>…</div> subtree intercepts pointer events
- retrying dblclick action
- waiting 500ms
at pages/CanvasPage.ts:196
194 |
195 | async openNode(nodeName: string): Promise<void> {
> 196 | await this.nodeByName(nodeName).dblclick();
| ^
197 | }
198 |
199 | getRenamePrompt(): Locator {
at CanvasPage.openNode (/home/runner/_work/n8n/n8n/packages/testing/playwright/pages/CanvasPage.ts:196:35)
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/5-ndv.spec.ts:667:22
|
|
[ui] › tests/ui/12-canvas.spec.ts:29:6 › Canvas Node Manipulation and Navigation › should add switch node and test connections:
packages/testing/playwright/tests/ui/12-canvas.spec.ts#L63
1) [ui] › tests/ui/12-canvas.spec.ts:29:6 › Canvas Node Manipulation and Navigation › should add switch node and test connections
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeAttached() failed
Locator: locator('[data-test-id="edge"][data-source-node-name="Edit Fields3"][data-target-node-name="Switch1"]')
Expected: attached
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeAttached" with timeout 10000ms
- waiting for locator('[data-test-id="edge"][data-source-node-name="Edit Fields3"][data-target-node-name="Switch1"]')
61 | await expect(
62 | n8n.canvas.connectionBetweenNodes('Edit Fields3', `${SWITCH_NODE_NAME}1`),
> 63 | ).toBeAttached();
| ^
64 |
65 | const editFieldsNodes = ['Edit Fields', 'Edit Fields1', 'Edit Fields2', 'Edit Fields3'];
66 | for (const nodeName of editFieldsNodes) {
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/12-canvas.spec.ts:63:5
|
|
[ui] › tests/ui/12-canvas.spec.ts:29:6 › Canvas Node Manipulation and Navigation › should add switch node and test connections:
packages/testing/playwright/tests/ui/12-canvas.spec.ts#L63
1) [ui] › tests/ui/12-canvas.spec.ts:29:6 › Canvas Node Manipulation and Navigation › should add switch node and test connections
Error: expect(locator).toBeAttached() failed
Locator: locator('[data-test-id="edge"][data-source-node-name="Edit Fields3"][data-target-node-name="Switch1"]')
Expected: attached
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeAttached" with timeout 10000ms
- waiting for locator('[data-test-id="edge"][data-source-node-name="Edit Fields3"][data-target-node-name="Switch1"]')
61 | await expect(
62 | n8n.canvas.connectionBetweenNodes('Edit Fields3', `${SWITCH_NODE_NAME}1`),
> 63 | ).toBeAttached();
| ^
64 |
65 | const editFieldsNodes = ['Edit Fields', 'Edit Fields1', 'Edit Fields2', 'Edit Fields3'];
66 | for (const nodeName of editFieldsNodes) {
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/12-canvas.spec.ts:63:5
|
|
[ui:isolated] › tests/ui/39-projects.spec.ts:313:7 › Projects › when moving resources between projects @db:reset › should move the workflow to expected projects @auth:owner:
packages/testing/playwright/composables/WorkflowComposer.ts#L215
2) [ui:isolated] › tests/ui/39-projects.spec.ts:313:7 › Projects › when moving resources between projects @db:reset › should move the workflow to expected projects @auth:owner
TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
- waiting for getByTestId('project-sharing-info').getByText('[email protected]').first() to be visible
45 × locator resolved to hidden <small>[email protected]</small>
at composables/WorkflowComposer.ts:215
213 | .getByText(projectNameOrEmail)
214 | .first();
> 215 | await projectOption.waitFor({ state: 'visible' });
| ^
216 | await projectOption.click();
217 | }
218 |
at WorkflowComposer.selectProjectInMoveModal (/home/runner/_work/n8n/n8n/packages/testing/playwright/composables/WorkflowComposer.ts:215:23)
at WorkflowComposer.moveToProject (/home/runner/_work/n8n/n8n/packages/testing/playwright/composables/WorkflowComposer.ts:191:3)
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/39-projects.spec.ts:330:4
|
|
[ui:isolated] › tests/ui/17-sharing.spec.ts:319:7 › @isolated › Credential Usage in Cross Shared Workflows › should only show credentials from the same team project:
packages/testing/playwright/tests/ui/17-sharing.spec.ts#L346
1) [ui:isolated] › tests/ui/17-sharing.spec.ts:319:7 › @isolated › Credential Usage in Cross Shared Workflows › should only show credentials from the same team project
Error: expect(locator).toHaveCount(expected) failed
Locator: locator('.el-popper:visible').locator('li')
Expected: 1
Received: 2
Timeout: 10000ms
Call log:
- Expect "toHaveCount" with timeout 10000ms
- waiting for locator('.el-popper:visible').locator('li')
2 × locator resolved to 0 elements
- unexpected value "0"
12 × locator resolved to 2 elements
- unexpected value "2"
344 | // Only Test project credential visible
345 | await n8n.ndv.getNodeCredentialsSelect().click();
> 346 | await expect(n8n.ndv.getVisiblePopper().locator('li')).toHaveCount(1);
| ^
347 | });
348 |
349 | test('should only show credentials in their personal project for members', async ({ n8n }) => {
at /home/runner/_work/n8n/n8n/packages/testing/playwright/tests/ui/17-sharing.spec.ts:346:59
|
|
Lint / Lint
Unexpected 400 error: Unknown error
|
|
🎭 Playwright Run Summary
1 flaky
[ui] › tests/ui/7-workflow-actions.spec.ts:344:6 › Workflow Actions › should archive active workflow and then delete it
1 skipped
73 passed (5.2m)
|
|
🎭 Playwright Run Summary
1 flaky
[ui] › tests/ui/17-workflow-tags.spec.ts:6:6 › Workflow tags - Tag creation › should create and attach tags inline, then add more incrementally
5 skipped
69 passed (5.6m)
|
|
🎭 Playwright Run Summary
1 skipped
74 passed (5.6m)
|
|
🎭 Playwright Run Summary
75 passed (6.6m)
|
|
🎭 Playwright Run Summary
1 flaky
[ui] › tests/ui/5-ndv.spec.ts:649:7 › NDV › Node Creator Integration › Should open appropriate node creator after clicking on connection hint link
1 skipped
73 passed (6.7m)
|
|
🎭 Playwright Run Summary
2 skipped
73 passed (6.9m)
|
|
🎭 Playwright Run Summary
1 flaky
[ui] › tests/ui/12-canvas.spec.ts:29:6 › Canvas Node Manipulation and Navigation › should add switch node and test connections
2 skipped
72 passed (7.4m)
|
|
🎭 Playwright Run Summary
2 flaky
[ui:isolated] › tests/ui/17-sharing.spec.ts:319:7 › @isolated › Credential Usage in Cross Shared Workflows › should only show credentials from the same team project
[ui:isolated] › tests/ui/39-projects.spec.ts:313:7 › Projects › when moving resources between projects @db:reset › should move the workflow to expected projects @auth:owner
73 passed (13.5m)
|