Skip to content

chore(eslint): added hooks dependecy dev #3508

chore(eslint): added hooks dependecy dev

chore(eslint): added hooks dependecy dev #3508

Triggered via pull request August 20, 2026 11:31
Status Failure
Total duration 34m 24s
Artifacts 7

tests-linux.yml

on: pull_request
Matrix: e2e-test
Unit Tests (Linux)
7m 2s
Unit Tests (Linux)
CLI Tests (Linux)
3m 15s
CLI Tests (Linux)
SSL Tests (Linux)
9m 55s
SSL Tests (Linux)
OAuth 1.0 Auth Tests (Linux)
8m 21s
OAuth 1.0 Auth Tests (Linux)
Merge Playwright Reports (Linux)
1m 9s
Merge Playwright Reports (Linux)
Fit to window
Zoom out
Zoom in

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