Skip to content

Add inline thumbs up/down feedback widget in app navigation (#2175) #8601

Add inline thumbs up/down feedback widget in app navigation (#2175)

Add inline thumbs up/down feedback widget in app navigation (#2175) #8601

Triggered via push May 1, 2026 06:02
Status Failure
Total duration 9m 30s
Artifacts 8

main.yml

on: push
Matrix: e2e-tests / e2e-tests
End-to-End Tests
4s
End-to-End Tests
Fit to window
Zoom out
Zoom in

Annotations

14 errors, 11 warnings, and 4 notices
[chromium] › tests/e2e/features/dashboard.spec.ts:266:7 › Dashboard › should warn when closing tile editor with unsaved changes @dashboard: packages/app/tests/e2e/features/dashboard.spec.ts#L285
2) [chromium] › tests/e2e/features/dashboard.spec.ts:266:7 › Dashboard › should warn when closing tile editor with unsaved changes @dashboard Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('confirm-confirm-button') - locator resolved to <button type="button" data-size="xs" data-variant="primary" data-testid="confirm-confirm-button" class="focus_focusRing__UFS1R mantine-active m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root">…</button> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is not stable - retrying click action - waiting 20ms - waiting for element to be visible, enabled and stable - element is not stable - retrying click action - waiting 100ms - waiting for element to be visible, enabled and stable - element was detached from the DOM, retrying 283 | timeout: 5000, 284 | }); > 285 | await dashboardPage.unsavedChangesConfirmDiscardButton.click(); | ^ 286 | await expect(dashboardPage.chartEditor.nameInput).toBeHidden({ 287 | timeout: 5000, 288 | }); at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/dashboard.spec.ts:285:60
[chromium] › tests/e2e/features/dashboard.spec.ts:266:7 › Dashboard › should warn when closing tile editor with unsaved changes @dashboard: packages/app/tests/e2e/features/dashboard.spec.ts#L0
2) [chromium] › tests/e2e/features/dashboard.spec.ts:266:7 › Dashboard › should warn when closing tile editor with unsaved changes @dashboard Test timeout of 60000ms exceeded.
[chromium] › tests/e2e/features/alerts.spec.ts:379:7 › Alert Creation › should create a between-threshold alert from a dashboard tile and verify on the alerts page @alerts @full-stack @full-stack: packages/app/tests/e2e/components/ChartEditorComponent.ts#L203
1) [chromium] › tests/e2e/features/alerts.spec.ts:379:7 › Alert Creation › should create a between-threshold alert from a dashboard tile and verify on the alerts page @alerts @full-stack @full-stack › Save the tile with the alert configured TimeoutError: locator.waitFor: Timeout 2000ms exceeded. Call log: - waiting for getByTestId('chart-save-button') to be hidden 9 × locator resolved to visible <button type="button" data-variant="primary" data-testid="chart-save-button" class="focus_focusRing__UFS1R mantine-active m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root">…</button> at components/ChartEditorComponent.ts:203 201 | await this.saveButton.click(); 202 | // Wait for save button to disappear (modal closes) > 203 | await this.saveButton.waitFor({ state: 'hidden', timeout: 2000 }); | ^ 204 | } 205 | 206 | /** at ChartEditorComponent.save (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/ChartEditorComponent.ts:203:27) at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/alerts.spec.ts:431:9 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/alerts.spec.ts:430:7
[chromium] › tests/e2e/features/search/relative-time.spec.ts:287:9 › Relative Time Picker › Search Integration › should update search results when switching between intervals @relative-time: packages/app/tests/e2e/components/TimePickerComponent.ts#L134
3) [chromium] › tests/e2e/features/search/relative-time.spec.ts:287:9 › Relative Time Picker › Search Integration › should update search results when switching between intervals @relative-time › Search with Last 15 minutes TimeoutError: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('time-picker-popover').getByRole('button', { name: 'Last 15 minutes' }) to be visible at components/TimePickerComponent.ts:134 132 | // with React re-renders of the popover content, causing the button to 133 | // briefly detach from the DOM right before the click. > 134 | await intervalButton.waitFor({ state: 'visible', timeout: 5000 }); | ^ 135 | // Use a longer click timeout so Playwright can retry if the element 136 | // briefly detaches due to an ongoing render cycle. 137 | await intervalButton.click({ timeout: 10000 }); at TimePickerComponent.selectTimeInterval (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/TimePickerComponent.ts:134:26) at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:299:39 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:297:9
[chromium] › tests/e2e/features/search/relative-time.spec.ts:165:9 › Relative Time Picker › Live Mode Integration › should resume live tail with selected interval @relative-time: packages/app/tests/e2e/components/TimePickerComponent.ts#L97
2) [chromium] › tests/e2e/features/search/relative-time.spec.ts:165:9 › Relative Time Picker › Live Mode Integration › should resume live tail with selected interval @relative-time › Pause live tail by selecting absolute time Error: locator.isChecked: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('time-picker-relative-switch') at components/TimePickerComponent.ts:97 95 | */ 96 | async isRelativeTimeEnabled(): Promise<boolean> { > 97 | return await this.relativeTimeSwitch.isChecked(); | ^ 98 | } 99 | 100 | /** at TimePickerComponent.isRelativeTimeEnabled (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/TimePickerComponent.ts:97:42) at TimePickerComponent.disableRelativeTime (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/TimePickerComponent.ts:114:34) at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:174:37 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:172:7
[chromium] › tests/e2e/features/search/relative-time.spec.ts:165:9 › Relative Time Picker › Live Mode Integration › should resume live tail with selected interval @relative-time: packages/app/tests/e2e/features/search/relative-time.spec.ts#L0
2) [chromium] › tests/e2e/features/search/relative-time.spec.ts:165:9 › Relative Time Picker › Live Mode Integration › should resume live tail with selected interval @relative-time › Pause live tail by selecting absolute time Test timeout of 60000ms exceeded.
[chromium] › tests/e2e/features/search/relative-time.spec.ts:53:9 › Relative Time Picker › Relative Time Options › should select different relative time intervals @relative-time: packages/app/tests/e2e/components/TimePickerComponent.ts#L97
1) [chromium] › tests/e2e/features/search/relative-time.spec.ts:53:9 › Relative Time Picker › Relative Time Options › should select different relative time intervals @relative-time › Select Last 45 minutes Error: locator.isChecked: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('time-picker-relative-switch') at components/TimePickerComponent.ts:97 95 | */ 96 | async isRelativeTimeEnabled(): Promise<boolean> { > 97 | return await this.relativeTimeSwitch.isChecked(); | ^ 98 | } 99 | 100 | /** at TimePickerComponent.isRelativeTimeEnabled (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/TimePickerComponent.ts:97:42) at TimePickerComponent.enableRelativeTime (/home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/components/TimePickerComponent.ts:104:34) at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:66:39 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/relative-time.spec.ts:64:20
[chromium] › tests/e2e/features/search/relative-time.spec.ts:53:9 › Relative Time Picker › Relative Time Options › should select different relative time intervals @relative-time: packages/app/tests/e2e/features/search/relative-time.spec.ts#L0
1) [chromium] › tests/e2e/features/search/relative-time.spec.ts:53:9 › Relative Time Picker › Relative Time Options › should select different relative time intervals @relative-time › Select Last 45 minutes Test timeout of 60000ms exceeded.
e2e-tests / E2E Tests - Shard 2
Process completed with exit code 1.
[chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range: packages/app/tests/e2e/features/search/custom-time-range.spec.ts#L77
1) [chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range › Reopen picker and verify inputs still show typed times Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveValue(expected) failed Locator: getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').nth(1) Expected: "2026-04-10 11:45:20" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveValue" with timeout 5000ms - waiting for getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').nth(1) 75 | await searchPage.timePicker.open(); 76 | await expect(searchPage.timePicker.startDateInput).toHaveValue(start); > 77 | await expect(searchPage.timePicker.endDateInput).toHaveValue(end); | ^ 78 | }); 79 | }); 80 | at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:77:56 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:74:5
[chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range: packages/app/tests/e2e/features/search/custom-time-range.spec.ts#L76
1) [chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range › Reopen picker and verify inputs still show typed times Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveValue(expected) failed Locator: getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').first() Expected: "2026-04-10 09:15:30" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveValue" with timeout 5000ms - waiting for getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').first() 74 | await test.step('Reopen picker and verify inputs still show typed times', async () => { 75 | await searchPage.timePicker.open(); > 76 | await expect(searchPage.timePicker.startDateInput).toHaveValue(start); | ^ 77 | await expect(searchPage.timePicker.endDateInput).toHaveValue(end); 78 | }); 79 | }); at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:76:58 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:74:5
[chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range: packages/app/tests/e2e/features/search/custom-time-range.spec.ts#L77
1) [chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range › Reopen picker and verify inputs still show typed times Error: expect(locator).toHaveValue(expected) failed Locator: getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').nth(1) Expected: "2026-04-10 11:45:20" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveValue" with timeout 5000ms - waiting for getByTestId('time-picker-popover').getByPlaceholder('YYYY-MM-DD HH:mm:ss').nth(1) 75 | await searchPage.timePicker.open(); 76 | await expect(searchPage.timePicker.startDateInput).toHaveValue(start); > 77 | await expect(searchPage.timePicker.endDateInput).toHaveValue(end); | ^ 78 | }); 79 | }); 80 | at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:77:56 at /home/runner/work/hyperdx/hyperdx/packages/app/tests/e2e/features/search/custom-time-range.spec.ts:74:5
End-to-End Tests
Process completed with exit code 1.
End-to-End Tests
1 E2E test(s) failed
otel-unit-test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, tj-actions/changed-files@v46. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
otel-smoke-test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, tj-actions/changed-files@v46. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
unit
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
lint
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
ClickHouse Bundle Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
integration
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, crazy-max/ghaction-github-runtime@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
e2e-tests / E2E Tests - Shard 4
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
e2e-tests / E2E Tests - Shard 1
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
e2e-tests / E2E Tests - Shard 3
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
e2e-tests / E2E Tests - Shard 2
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
End-to-End Tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
1 skipped 40 passed (3.4m)
🎭 Playwright Run Summary
2 flaky [chromium] › tests/e2e/features/alerts.spec.ts:379:7 › Alert Creation › should create a between-threshold alert from a dashboard tile and verify on the alerts page @alerts @full-stack @full-stack [chromium] › tests/e2e/features/dashboard.spec.ts:266:7 › Dashboard › should warn when closing tile editor with unsaved changes @dashboard 1 skipped 39 passed (4.8m)
🎭 Playwright Run Summary
3 flaky [chromium] › tests/e2e/features/search/relative-time.spec.ts:53:9 › Relative Time Picker › Relative Time Options › should select different relative time intervals @relative-time [chromium] › tests/e2e/features/search/relative-time.spec.ts:165:9 › Relative Time Picker › Live Mode Integration › should resume live tail with selected interval @relative-time [chromium] › tests/e2e/features/search/relative-time.spec.ts:287:9 › Relative Time Picker › Search Integration › should update search results when switching between intervals @relative-time 38 passed (6.4m)
🎭 Playwright Run Summary
1 failed [chromium] › tests/e2e/features/search/custom-time-range.spec.ts:66:7 › Custom Time Range › should preserve typed times after closing and reopening the picker @custom-time-range 1 skipped 40 passed (4.7m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report-1
7.79 MB
sha256:ce2ab451c234cf8d879f77d5b58c5cb66b8b3296a9de56a287672eaf4fe33588
playwright-report-2
8.87 MB
sha256:c59541f34d42af2a56979fc7f98f572bc037913b2545c8f42a75ccc33d56caa1
playwright-report-3
56 MB
sha256:c28acd910c55df41199522746698c4e79d17cae37a9e4c9ba7fd7cc6aa9d6fc9
playwright-report-4
245 KB
sha256:7a35d48166c1128e1c71f6f1f17ce88e7aaea073659e16b31eb36b2058d8ae82
test-results-1
7.11 MB
sha256:86054f16e9f111fe2b4b2f005473698e8b7ee50d5e027d190273a52a41cf637c
test-results-2
8.25 MB
sha256:4b837b673193721b24d783d9f05271ebeadb95f8784ab4165bf62f6c9ceca943
test-results-3
55.4 MB
sha256:e4eedf29fe88e3a2dd00c5fe04c788f594554bc53dcbdbff149bde197b75e905
test-results-4
6.72 KB
sha256:5e4dc36bfe79904c76069161d95ee6655eefcaa8a5363fa801a0a650e4a178e7