Skip to content

Update to jupyter collaboration 3 #390

Update to jupyter collaboration 3

Update to jupyter collaboration 3 #390

Triggered via pull request November 22, 2024 15:36
Status Success
Total duration 14m 35s
Artifacts 2

build.yml

on: pull_request
Build jupyter_chat
2m 40s
Build jupyter_chat
Check Links
51s
Check Links
Build chat extension
2m 46s
Build chat extension
Python test on extensions
2m 18s
Python test on extensions
Integration tests
7m 54s
Integration tests
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 6 warnings, and 1 notice
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: python/jupyterlab-chat/ui-tests/tests/chat-file.spec.ts#L1
1) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Test timeout of 60000ms exceeded.
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: python/jupyterlab-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.e3a3a97fe081da5cfa40.js?v=e3a3a97fe081da5cfa40#L1
1) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Error: proxy.evaluate: Error: Invalid response: 404 Not Found at i.create (http://localhost:8888/static/lab/jlab_core.e3a3a97fe081da5cfa40.js?v=e3a3a97fe081da5cfa40:1:1430585) at async m.get (http://localhost:8888/static/lab/jlab_core.e3a3a97fe081da5cfa40.js?v=e3a3a97fe081da5cfa40:1:1375374) at async eval (eval at evaluate (:226:30), <anonymous>:2:12) at async <anonymous>:252:30 at i.create (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.e3a3a97fe081da5cfa40.js?v=e3a3a97fe081da5cfa40:1:1430585) at async m.get (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.e3a3a97fe081da5cfa40.js?v=e3a3a97fe081da5cfa40:1:1375374) at async eval (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/eval at evaluate (:226:30), <anonymous>:2:12) at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/async <anonymous>:252:30 at readFileContent (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/chat-file.spec.ts:32:21) at hasId (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/chat-file.spec.ts:173:27) at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
tests/commands.spec.ts:82:7 › #commandPalette › should open an existing chat: python/jupyterlab-chat/ui-tests/tests/commands.spec.ts#L91
2) tests/commands.spec.ts:82:7 › #commandPalette › should open an existing chat ────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('main').getByRole('tab', { name: 'my-chat.chat' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('main').getByRole('tab', { name: 'my-chat.chat' }) 89 | .click(); 90 | await fillModal(page, FILENAME); > 91 | await expect(page.activity.getTabLocator(FILENAME)).toBeVisible(); | ^ 92 | }); 93 | }); 94 | at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/commands.spec.ts:91:57
tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message: python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts#L1
3) tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message Test timeout of 60000ms exceeded.
tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message: python/jupyterlab-chat/ui-tests/tests/test-utils.ts#L50
3) tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message Error: locator.count: Test timeout of 60000ms exceeded. at tests/test-utils.ts:50 48 | const tabName = splitPath[splitPath.length - 1]; 49 | await page.waitForCondition( > 50 | async () => await page.activity.isTabActive(tabName) | ^ 51 | ); 52 | return (await page.activity.getPanelLocator(tabName)) as Locator; 53 | }; at ActivityHelper.isTabActive (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/helpers/activity.ts:54:23) at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/test-utils.ts:50:17 at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:11)
tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message: python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts#L1
3) tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message: python/jupyterlab-chat/ui-tests/tests/test-utils.ts#L50
3) tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.isChecked: Target page, context or browser has been closed at tests/test-utils.ts:50 48 | const tabName = splitPath[splitPath.length - 1]; 49 | await page.waitForCondition( > 50 | async () => await page.activity.isTabActive(tabName) | ^ 51 | ); 52 | return (await page.activity.getPanelLocator(tabName)) as Locator; 53 | }; at Object.isInSimpleMode (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:311:17) at ActivityHelper.isTabActive (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/helpers/activity.ts:46:21) at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/test-utils.ts:50:37 at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
tests/notifications.spec.ts:128:7 › #notifications › should update existing notification on new message: python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts#L142
4) tests/notifications.spec.ts:128:7 › #notifications › should update existing notification on new message Error: expect(received).toBe(expected) // Object.is equality Expected: "1 incoming message(s) in my-chat.chat" Received: "7 incoming message(s) in my-chat.chat" 140 | expect(notifications).toHaveLength(1); 141 | > 142 | expect(notifications[0].message).toBe( | ^ 143 | '1 incoming message(s) in my-chat.chat' 144 | ); 145 | at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts:142:38
tests/notifications.spec.ts:153:7 › #notifications › should remove notifications from settings: python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts#L189
5) tests/notifications.spec.ts:153:7 › #notifications › should remove notifications from settings Error: Timed out 5000ms waiting for expect(locator).toHaveCount(expected) Locator: getByRole('main').getByRole('tabpanel', { name: 'my-chat.chat' }).locator('.jp-chat-message') Expected: 17 Received: 18 Call log: - expect.toHaveCount with timeout 5000ms - waiting for getByRole('main').getByRole('tabpanel', { name: 'my-chat.chat' }).locator('.jp-chat-message') - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" - locator resolved to 18 elements - unexpected value "18" 187 | 188 | await sendMessage(guestPage, FILENAME, MSG_CONTENT); > 189 | await expect(messages).toHaveCount(messagesCount + 2); | ^ 190 | 191 | notifications = await page.notifications; 192 | expect(notifications).toHaveLength(0); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/notifications.spec.ts:189:28
tests/ui-config.spec.ts:217:7 › #typingNotification › should not display typing users if disabled: python/jupyterlab-chat/ui-tests/tests/ui-config.spec.ts#L251
6) tests/ui-config.spec.ts:217:7 › #typingNotification › should not display typing users if disabled Error: The typing notification should not be attached. 249 | 250 | if (visible) { > 251 | throw Error('The typing notification should not be attached.'); | ^ 252 | } 253 | }); 254 | at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-chat/ui-tests/tests/ui-config.spec.ts:251:13
Check Links
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Build jupyter_chat
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Python test on extensions
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Build chat extension
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Integration tests
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/cache@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "jupyterlab_chat-artifacts", "jupyterlab_chat-playwright-tests". Please update your workflow to use v4 of the artifact actions. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
🎭 Playwright Run Summary
8 flaky tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ───────────────── tests/commands.spec.ts:82:7 › #commandPalette › should open an existing chat ─────────────────── tests/notifications.spec.ts:89:7 › #notifications › should receive notification on unread message tests/notifications.spec.ts:128:7 › #notifications › should update existing notification on new message tests/notifications.spec.ts:153:7 › #notifications › should remove notifications from settings ─ tests/ui-config.spec.ts:217:7 › #typingNotification › should not display typing users if disabled tests/unread.spec.ts:56:9 › #messagesNavigation › navigation without unread message › should navigate to last message tests/unread.spec.ts:197:9 › #messagesNavigation › navigation with new unread message › should navigate to new unread message 2 skipped 78 passed (6.6m)

Artifacts

Produced during runtime
Name Size
jupyterlab_chat-artifacts
1.55 MB
jupyterlab_chat-playwright-tests
1.22 MB