chore(eslint): added hooks dependecy dev #3508
tests-linux.yml
on: pull_request
Matrix: e2e-test
Unit Tests (Linux)
7m 2s
CLI Tests (Linux)
3m 15s
SSL Tests (Linux)
9m 55s
OAuth 1.0 Auth Tests (Linux)
8m 21s
Merge Playwright Reports (Linux)
1m 9s
Annotations
22 errors, 9 warnings, and 6 notices
|
[default] › tests/preferences/system-proxy-timestamp.spec.ts:34:7 › System Proxy - last refreshed timestamp › updates the timestamp on a subsequent Refresh:
tests/preferences/system-proxy-timestamp.spec.ts#L73
1) [default] › tests/preferences/system-proxy-timestamp.spec.ts:34:7 › System Proxy - last refreshed timestamp › updates the timestamp on a subsequent Refresh
Error: expect(received).toBeGreaterThan(expected)
Expected: > 1000
Received: 401
71 |
72 | // the two refreshes should be more than 1 second apart
> 73 | expect(secondRefreshedAt - firstRefreshedAt).toBeGreaterThan(1000);
| ^
74 | });
75 | });
76 |
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/preferences/system-proxy-timestamp.spec.ts:73:50
|
|
[default] › tests/richtext-editor/links.spec.ts:154:7 › Rich Text Editor Edge Cases - Links › Link popovers - scroll tracking:
tests/richtext-editor/links.spec.ts#L260
2) [default] › tests/richtext-editor/links.spec.ts:154:7 › Rich Text Editor Edge Cases - Links › Link popovers - scroll tracking, hiding, and flipping › Flipping (bottom of viewport)
Error: expect(locator).toHaveAttribute(expected) failed
Locator: locator('[data-editor-link-popover="true"]')
Expected pattern: /^top/
Received string: "bottom"
Timeout: 5000ms
Call log:
- Expect "toHaveAttribute" with timeout 5000ms
- waiting for locator('[data-editor-link-popover="true"]')
14 × locator resolved to <div data-popper-placement="bottom" data-editor-link-popover="true" class="StyledWrapper-eoHZkQ bykcxl">…</div>
- unexpected value "bottom"
258 | // the popover should flip and appear ABOVE the link.
259 | // Popper handles this automatically. We can verify if data-popper-placement starts with 'top'.
> 260 | await expect(editPopover).toHaveAttribute('data-popper-placement', /^top/);
| ^
261 | });
262 | });
263 |
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/richtext-editor/links.spec.ts:260:33
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/richtext-editor/links.spec.ts:232:5
|
|
[default] › tests/request/multipart-form/multipart-form-file-chips.spec.ts:155:7 › Multipart Form - Multiple File Upload › each file can be removed individually:
tests/request/multipart-form/multipart-form-file-chips.spec.ts#L134
1) [default] › tests/request/multipart-form/multipart-form-file-chips.spec.ts:155:7 › Multipart Form - Multiple File Upload › each file can be removed individually
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByTestId('multipart-file-more')
132 | const more = page.getByTestId('multipart-file-more');
133 | const trigger = (await summary.count()) > 0 ? summary : more;
> 134 | await trigger.click();
| ^
135 |
136 | const row = page.getByTestId('multipart-file-overflow-row').filter({ hasText: fileName });
137 | await expect(row).toBeVisible();
at removeFileByName (/home/runner/work/usebruno-bruno/bruno/bruno/tests/request/multipart-form/multipart-form-file-chips.spec.ts:134:19)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/request/multipart-form/multipart-form-file-chips.spec.ts:158:5
|
|
[default] › tests/request/multipart-form/multipart-form-file-chips.spec.ts:155:7 › Multipart Form - Multiple File Upload › each file can be removed individually:
tests/request/multipart-form/multipart-form-file-chips.spec.ts#L0
1) [default] › tests/request/multipart-form/multipart-form-file-chips.spec.ts:155:7 › Multipart Form - Multiple File Upload › each file can be removed individually
Test timeout of 30000ms exceeded.
|
|
[default] › tests/environments/environment-tabs/environment-tabs.spec.ts:698:7 › Global Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits:
tests/environments/environment-tabs/environment-tabs.spec.ts#L724
7) [default] › tests/environments/environment-tabs/environment-tabs.spec.ts:698:7 › Global Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits › Editing the Secrets tab marks it unsaved without clearing Variables
Error: expect(locator).toHaveClass(expected) failed
Locator: getByTestId('responsive-tab-variables').getByTestId('env-tab-count')
Expected pattern: /unsaved/
Received string: "env-tab-count font-medium"
Timeout: 5000ms
Call log:
- Expect "toHaveClass" with timeout 5000ms
- waiting for getByTestId('responsive-tab-variables').getByTestId('env-tab-count')
14 × locator resolved to <sup data-testid="env-tab-count" class="env-tab-count font-medium">1</sup>
- unexpected value "env-tab-count font-medium"
722 | // The Variables tab still has its unsaved row, so its marker must remain.
723 | await expect(tabCount(page, 'variables')).toHaveText('1');
> 724 | await expect(tabCount(page, 'variables')).toHaveClass(/unsaved/);
| ^
725 | });
726 |
727 | await test.step('Saving the Secrets tab clears only its unsaved marker', async () => {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/environment-tabs/environment-tabs.spec.ts:724:49
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/environment-tabs/environment-tabs.spec.ts:717:5
|
|
[default] › tests/environments/environment-tabs/environment-tabs.spec.ts:184:7 › Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits:
tests/environments/environment-tabs/environment-tabs.spec.ts#L210
6) [default] › tests/environments/environment-tabs/environment-tabs.spec.ts:184:7 › Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits › Editing the Secrets tab marks it unsaved without clearing Variables
Error: expect(locator).toHaveClass(expected) failed
Locator: getByTestId('responsive-tab-variables').getByTestId('env-tab-count')
Expected pattern: /unsaved/
Received string: "env-tab-count font-medium"
Timeout: 5000ms
Call log:
- Expect "toHaveClass" with timeout 5000ms
- waiting for getByTestId('responsive-tab-variables').getByTestId('env-tab-count')
14 × locator resolved to <sup data-testid="env-tab-count" class="env-tab-count font-medium">1</sup>
- unexpected value "env-tab-count font-medium"
208 | // The Variables tab still has its unsaved row, so its marker must remain.
209 | await expect(tabCount(page, 'variables')).toHaveText('1');
> 210 | await expect(tabCount(page, 'variables')).toHaveClass(/unsaved/);
| ^
211 | });
212 |
213 | await test.step('Saving the Secrets tab clears only its unsaved marker', async () => {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/environment-tabs/environment-tabs.spec.ts:210:49
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/environment-tabs/environment-tabs.spec.ts:203:5
|
|
[default] › tests/environments/create-environment/global-env-create.spec.ts:23:7 › Global Environment Create Tests › should import collection and create global environment for request usage:
tests/utils/page/actions.ts#L930
5) [default] › tests/environments/create-environment/global-env-create.spec.ts:23:7 › Global Environment Create Tests › should import collection and create global environment for request usage › Create global environment with variables › Add 5 environment variables › Add environment variable "postBody" › Add row "postBody" to the active environment tab
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('input[placeholder="Name"]').last() to be visible
at tests/utils/page/actions.ts:930
928 | await test.step(`Add row "${name}" to the active environment tab`, async () => {
929 | const nameInput = page.locator('input[placeholder="Name"]').last();
> 930 | await nameInput.waitFor({ state: 'visible' });
| ^
931 | await nameInput.fill(name);
932 |
933 | const row = page.getByTestId(`env-var-row-${name}`);
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:930:21
at addRowToActiveTab (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:928:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:893:5
at addEnvironmentVariable (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:886:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:907:7
at addEnvironmentVariables (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:905:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/create-environment/global-env-create.spec.ts:39:7
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/create-environment/global-env-create.spec.ts:36:5
|
|
[default] › tests/environments/collection-default-environment/collection-default-environment.spec.ts:47:7 › Collection Default Environment › resolves request variables from the default environment (verified in Timeline):
tests/utils/page/actions.ts#L110
4) [default] › tests/environments/collection-default-environment/collection-default-environment.spec.ts:47:7 › Collection Default Environment › resolves request variables from the default environment (verified in Timeline) › Open collection and confirm default applied › Open collection "collection-default-environment"
Error: locator.click: Target page, context or browser has been closed
Call log:
- waiting for locator('#sidebar-collection-name').filter({ hasText: 'collection-default-environment' })
at tests/utils/page/actions.ts:110
108 | const openCollection = async (page: Page, collectionName: string) => {
109 | await test.step(`Open collection "${collectionName}"`, async () => {
> 110 | await page.locator('#sidebar-collection-name').filter({ hasText: collectionName }).click();
| ^
111 | });
112 | };
113 |
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:110:88
at openCollection (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:109:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/collection-default-environment/collection-default-environment.spec.ts:53:7
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/environments/collection-default-environment/collection-default-environment.spec.ts:52:5
|
|
[default] › tests/environments/collection-default-environment/collection-default-environment.spec.ts:47:7 › Collection Default Environment › resolves request variables from the default environment (verified in Timeline):
tests/environments/collection-default-environment/collection-default-environment.spec.ts#L0
4) [default] › tests/environments/collection-default-environment/collection-default-environment.spec.ts:47:7 › Collection Default Environment › resolves request variables from the default environment (verified in Timeline) › Open collection and confirm default applied › Open collection "collection-default-environment"
Test timeout of 30000ms exceeded.
|
|
[default] › tests/apps/collection-apps.spec.ts:145:7 › Collection apps › bru.ctx.runRequest executes a request by pathname and reflects the response:
tests/utils/page/actions.ts#L1801
3) [default] › tests/apps/collection-apps.spec.ts:145:7 › Collection apps › bru.ctx.runRequest executes a request by pathname and reflects the response › Save request
Error: expect(locator).toBeVisible() failed
Locator: getByText('Request saved successfully').last()
Expected: visible
Timeout: 3000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 3000ms
- waiting for getByText('Request saved successfully').last()
at tests/utils/page/actions.ts:1801
1799 | const saveShortcut = process.platform === 'darwin' ? 'Meta+s' : 'Control+s';
1800 | await page.keyboard.press(saveShortcut);
> 1801 | await expect(page.getByText('Request saved successfully').last()).toBeVisible({ timeout: 3000 });
| ^
1802 | await page.waitForTimeout(200);
1803 | });
1804 | };
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1801:71
at saveRequest (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1798:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/apps/collection-apps.spec.ts:163:5
|
|
[default] › tests/apps/collection-apps.spec.ts:126:7 › Collection apps › bru.ctx.listRequests sees every request in the collection:
tests/utils/page/actions.ts#L1801
2) [default] › tests/apps/collection-apps.spec.ts:126:7 › Collection apps › bru.ctx.listRequests sees every request in the collection › Save request
Error: expect(locator).toBeVisible() failed
Locator: getByText('Request saved successfully').last()
Expected: visible
Timeout: 3000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 3000ms
- waiting for getByText('Request saved successfully').last()
at tests/utils/page/actions.ts:1801
1799 | const saveShortcut = process.platform === 'darwin' ? 'Meta+s' : 'Control+s';
1800 | await page.keyboard.press(saveShortcut);
> 1801 | await expect(page.getByText('Request saved successfully').last()).toBeVisible({ timeout: 3000 });
| ^
1802 | await page.waitForTimeout(200);
1803 | });
1804 | };
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1801:71
at saveRequest (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1798:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/apps/collection-apps.spec.ts:134:5
|
|
[default] › tests/apps/apps-ctx-api.spec.ts:180:7 › Apps - ctx API › bru.ctx.variables.runtime.set persists for subsequent sends:
tests/apps/apps-ctx-api.spec.ts#L198
1) [default] › tests/apps/apps-ctx-api.spec.ts:180:7 › Apps - ctx API › bru.ctx.variables.runtime.set persists for subsequent sends
Error: expect(received).toBe(expected) // Object.is equality
Expected: "viaSet"
Received: undefined
Call Log:
- Timeout 15000ms exceeded while waiting on the predicate
196 | await expect
197 | .poll(() => guestEval(electronApp, `window.bru && window.bru.ctx.variables.resolved && window.bru.ctx.variables.resolved.q`), { timeout: 15000 })
> 198 | .toBe('viaSet');
| ^
199 | await guestEval(electronApp, 'void window.__send()');
200 | await expect.poll(() => guestResult(electronApp), { timeout: 15000 }).toBe('viaSet');
201 | });
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/apps/apps-ctx-api.spec.ts:198:8
|
|
[default] › tests/websockets/multi-message-bru/message-name-style.spec.ts:20:7 › websocket message name styling › long message name truncates instead of overflowing:
tests/websockets/multi-message-bru/message-name-style.spec.ts#L0
5) [default] › tests/websockets/multi-message-bru/message-name-style.spec.ts:20:7 › websocket message name styling › long message name truncates instead of overflowing › Navigate to collection "ws-multi-message" and open request "ws-single-msg"
Test timeout of 30000ms exceeded.
|
|
[default] › tests/websockets/message-scroll.spec.ts:84:7 › websocket message list scroll on tab switch › restores both list and editor scroll at the bottom after switching tabs:
tests/utils/page/actions.ts#L1122
4) [default] › tests/websockets/message-scroll.spec.ts:84:7 › websocket message list scroll on tab switch › restores both list and editor scroll at the bottom after switching tabs › Navigate to collection "collection" and open request "ws-two-long-msgs"
Error: locator.click: Target page, context or browser has been closed
Call log:
- waiting for getByTestId('sidebar-collection-row').filter({ hasText: 'collection' })
at tests/utils/page/actions.ts:1122
1120 | await test.step(`Navigate to collection "${collectionName}" and open request "${requestName}"`, async () => {
1121 | const collectionContainer = page.getByTestId('sidebar-collection-row').filter({ hasText: collectionName });
> 1122 | await collectionContainer.click();
| ^
1123 | const collectionWrapper = collectionContainer.locator('..');
1124 | const request = collectionWrapper.getByTestId('sidebar-collection-item-row').filter({ hasText: requestName });
1125 | if (!persist) {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1122:31
at openRequest (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1120:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/websockets/message-scroll.spec.ts:86:5
|
|
[default] › tests/websockets/message-scroll.spec.ts:84:7 › websocket message list scroll on tab switch › restores both list and editor scroll at the bottom after switching tabs:
tests/websockets/message-scroll.spec.ts#L0
4) [default] › tests/websockets/message-scroll.spec.ts:84:7 › websocket message list scroll on tab switch › restores both list and editor scroll at the bottom after switching tabs › Navigate to collection "collection" and open request "ws-two-long-msgs"
Test timeout of 30000ms exceeded.
|
|
[default] › tests/websockets/message-editor-scroll.spec.ts:112:7 › websocket message editor scroll behaviour › clicking a reopened message body does not move the scroll position:
tests/utils/page/actions.ts#L1122
3) [default] › tests/websockets/message-editor-scroll.spec.ts:112:7 › websocket message editor scroll behaviour › clicking a reopened message body does not move the scroll position › Navigate to collection "collection" and open request "ws-two-long-msgs"
Error: locator.click: Target page, context or browser has been closed
Call log:
- waiting for getByTestId('sidebar-collection-row').filter({ hasText: 'collection' })
at tests/utils/page/actions.ts:1122
1120 | await test.step(`Navigate to collection "${collectionName}" and open request "${requestName}"`, async () => {
1121 | const collectionContainer = page.getByTestId('sidebar-collection-row').filter({ hasText: collectionName });
> 1122 | await collectionContainer.click();
| ^
1123 | const collectionWrapper = collectionContainer.locator('..');
1124 | const request = collectionWrapper.getByTestId('sidebar-collection-item-row').filter({ hasText: requestName });
1125 | if (!persist) {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1122:31
at openRequest (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1120:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/websockets/message-editor-scroll.spec.ts:117:5
|
|
[default] › tests/websockets/message-editor-scroll.spec.ts:112:7 › websocket message editor scroll behaviour › clicking a reopened message body does not move the scroll position:
tests/websockets/message-editor-scroll.spec.ts#L0
3) [default] › tests/websockets/message-editor-scroll.spec.ts:112:7 › websocket message editor scroll behaviour › clicking a reopened message body does not move the scroll position › Navigate to collection "collection" and open request "ws-two-long-msgs"
Test timeout of 30000ms exceeded.
|
|
[default] › tests/websockets/message-editor-scroll.spec.ts:81:7 › websocket message editor scroll behaviour › selecting another message does not reset the deselected editor scroll to top:
tests/utils/page/actions.ts#L1122
2) [default] › tests/websockets/message-editor-scroll.spec.ts:81:7 › websocket message editor scroll behaviour › selecting another message does not reset the deselected editor scroll to top › Navigate to collection "collection" and open request "ws-two-long-msgs"
Error: locator.click: Target page, context or browser has been closed
Call log:
- waiting for getByTestId('sidebar-collection-row').filter({ hasText: 'collection' })
at tests/utils/page/actions.ts:1122
1120 | await test.step(`Navigate to collection "${collectionName}" and open request "${requestName}"`, async () => {
1121 | const collectionContainer = page.getByTestId('sidebar-collection-row').filter({ hasText: collectionName });
> 1122 | await collectionContainer.click();
| ^
1123 | const collectionWrapper = collectionContainer.locator('..');
1124 | const request = collectionWrapper.getByTestId('sidebar-collection-item-row').filter({ hasText: requestName });
1125 | if (!persist) {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1122:31
at openRequest (/home/runner/work/usebruno-bruno/bruno/bruno/tests/utils/page/actions.ts:1120:3)
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/websockets/message-editor-scroll.spec.ts:87:5
|
|
[default] › tests/websockets/message-editor-scroll.spec.ts:81:7 › websocket message editor scroll behaviour › selecting another message does not reset the deselected editor scroll to top:
tests/websockets/message-editor-scroll.spec.ts#L0
2) [default] › tests/websockets/message-editor-scroll.spec.ts:81:7 › websocket message editor scroll behaviour › selecting another message does not reset the deselected editor scroll to top › Navigate to collection "collection" and open request "ws-two-long-msgs"
Test timeout of 30000ms exceeded.
|
|
[default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab:
tests/variables-tab/variables-tab.spec.ts#L473
1) [default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: 300
Received: 0
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
471 | await reopenVariablesTab(page, 'seed');
472 |
> 473 | await expect.poll(() => getVariablesScrollTop(page)).toBe(SCROLL_TOP);
| ^
474 | });
475 |
476 | test('restores a long object value\'s own scroll position inside its cell', async ({ pageWithUserData: page }) => {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/variables-tab/variables-tab.spec.ts:473:58
|
|
[default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab:
tests/variables-tab/variables-tab.spec.ts#L473
1) [default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: 300
Received: 0
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
471 | await reopenVariablesTab(page, 'seed');
472 |
> 473 | await expect.poll(() => getVariablesScrollTop(page)).toBe(SCROLL_TOP);
| ^
474 | });
475 |
476 | test('restores a long object value\'s own scroll position inside its cell', async ({ pageWithUserData: page }) => {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/variables-tab/variables-tab.spec.ts:473:58
|
|
[default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab:
tests/variables-tab/variables-tab.spec.ts#L473
1) [default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab
Error: expect(received).toBe(expected) // Object.is equality
Expected: 300
Received: 0
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
471 | await reopenVariablesTab(page, 'seed');
472 |
> 473 | await expect.poll(() => getVariablesScrollTop(page)).toBe(SCROLL_TOP);
| ^
474 | });
475 |
476 | test('restores a long object value\'s own scroll position inside its cell', async ({ pageWithUserData: page }) => {
at /home/runner/work/usebruno-bruno/bruno/bruno/tests/variables-tab/variables-tab.spec.ts:473:58
|
|
CLI Tests (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
OAuth 1.0 Auth Tests (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
SSL Tests (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Playwright E2E Tests (Linux) 2/4
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Playwright E2E Tests (Linux) 3/4
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Playwright E2E Tests (Linux) 1/4
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Playwright E2E Tests (Linux) 4/4
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Merge Playwright Reports (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/download-artifact@v6, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
🎭 Playwright Run Summary
34 passed (4.4m)
|
|
🎭 Playwright Run Summary
57 passed (5.2m)
|
|
🎭 Playwright Run Summary
1 flaky
[default] › tests/preferences/system-proxy-timestamp.spec.ts:34:7 › System Proxy - last refreshed timestamp › updates the timestamp on a subsequent Refresh
2 skipped
307 passed (14.4m)
|
|
🎭 Playwright Run Summary
2 flaky
[default] › tests/request/multipart-form/multipart-form-file-chips.spec.ts:155:7 › Multipart Form - Multiple File Upload › each file can be removed individually
[default] › tests/richtext-editor/links.spec.ts:154:7 › Rich Text Editor Edge Cases - Links › Link popovers - scroll tracking, hiding, and flipping
2 skipped
306 passed (20.4m)
|
|
🎭 Playwright Run Summary
7 flaky
[default] › tests/apps/apps-ctx-api.spec.ts:180:7 › Apps - ctx API › bru.ctx.variables.runtime.set persists for subsequent sends
[default] › tests/apps/collection-apps.spec.ts:126:7 › Collection apps › bru.ctx.listRequests sees every request in the collection
[default] › tests/apps/collection-apps.spec.ts:145:7 › Collection apps › bru.ctx.runRequest executes a request by pathname and reflects the response
[default] › tests/environments/collection-default-environment/collection-default-environment.spec.ts:47:7 › Collection Default Environment › resolves request variables from the default environment (verified in Timeline)
[default] › tests/environments/create-environment/global-env-create.spec.ts:23:7 › Global Environment Create Tests › should import collection and create global environment for request usage
[default] › tests/environments/environment-tabs/environment-tabs.spec.ts:184:7 › Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits
[default] › tests/environments/environment-tabs/environment-tabs.spec.ts:698:7 › Global Environment Variables / Secrets tab separation › the unsaved indicator appears only on the tab with unsaved edits
5 skipped
299 passed (22.6m)
|
|
🎭 Playwright Run Summary
1 failed
[default] › tests/variables-tab/variables-tab.spec.ts:453:7 › Variables tab › restores the scroll position after leaving and reopening the tab
4 flaky
[default] › tests/websockets/message-editor-scroll.spec.ts:81:7 › websocket message editor scroll behaviour › selecting another message does not reset the deselected editor scroll to top
[default] › tests/websockets/message-editor-scroll.spec.ts:112:7 › websocket message editor scroll behaviour › clicking a reopened message body does not move the scroll position
[default] › tests/websockets/message-scroll.spec.ts:84:7 › websocket message list scroll on tab switch › restores both list and editor scroll at the bottom after switching tabs
[default] › tests/websockets/multi-message-bru/message-name-style.spec.ts:20:7 › websocket message name styling › long message name truncates instead of overflowing
305 passed (29.0m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
blob-report-linux-1
Expired
|
56.1 MB |
sha256:713d2e2f0030ccd8d955b830a9e352aaa0ad1f852f59aa71610284e24b7f83fb
|
|
|
blob-report-linux-2
Expired
|
1.8 MB |
sha256:74f0b45953c0e5863e3848f1d5d3b3c4fa38eff5adbd13e5dd93cb5ebca42f63
|
|
|
blob-report-linux-3
Expired
|
11 MB |
sha256:255a1a16f90aa6b40ed5a07a010543d093c31360a188e8357ca9783dc8daedc4
|
|
|
blob-report-linux-4
Expired
|
14.4 MB |
sha256:829eaffd5e5035c7e378a3f6da99608276d3cd813652c2dd46bdc024daaa6fbc
|
|
|
playwright-report-auth-linux
|
504 KB |
sha256:93f6c8e19e225db0341aba865aa44273e1bf29cdb0b4f4d001fea47bfab1681d
|
|
|
playwright-report-linux
|
82 MB |
sha256:9e6c18eaa5e805601a8caa42aa16e8246c502ff3feacc205cb01cf368e130cd0
|
|
|
playwright-report-linux-ssl
|
464 KB |
sha256:7bd7bb576a5b3117f948cdfd2225f07fc7220e8332899bc49b63aca502c70de0
|
|