Skip to content

Fix undo bug

Fix undo bug #232

Triggered via pull request July 18, 2024 09:11
Status Failure
Total duration 9m 30s
Artifacts 2

build.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 8 warnings, and 1 notice
tests/left-panel.spec.ts:75:9 › #layersPanel › with GIS document › should restore empty layer panel: ui-tests/tests/left-panel.spec.ts#L78
1) tests/left-panel.spec.ts:75:9 › #layersPanel › with GIS document › should restore empty layer panel Error: Timed out 5000ms waiting for expect(locator).toBeEmpty() Locator: locator('#jupytergis\\:\\:leftControlPanel').locator('.jp-gis-layerPanel') Expected: empty Received: notEmpty Call log: - expect.toBeEmpty with timeout 5000ms - waiting for locator('#jupytergis\\:\\:leftControlPanel').locator('.jp-gis-layerPanel') - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" 76 | const layerTree = await openLayerTree(page); 77 | await page.activity.closeAll(); > 78 | await expect(layerTree).toBeEmpty(); | ^ 79 | }); 80 | 81 | test('raster layer should have icons', async ({ page }) => { at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts:78:31
tests/left-panel.spec.ts:75:9 › #layersPanel › with GIS document › should restore empty layer panel: ui-tests/tests/left-panel.spec.ts#L78
1) tests/left-panel.spec.ts:75:9 › #layersPanel › with GIS document › should restore empty layer panel Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeEmpty() Locator: locator('#jupytergis\\:\\:leftControlPanel').locator('.jp-gis-layerPanel') Expected: empty Received: notEmpty Call log: - expect.toBeEmpty with timeout 5000ms - waiting for locator('#jupytergis\\:\\:leftControlPanel').locator('.jp-gis-layerPanel') - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" - locator resolved to <div role="region" id="jupytergis::layerTree" aria-la…>…</div> - unexpected value "not empty" 76 | const layerTree = await openLayerTree(page); 77 | await page.activity.closeAll(); > 78 | await expect(layerTree).toBeEmpty(); | ^ 79 | }); 80 | 81 | test('raster layer should have icons', async ({ page }) => { at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts:78:31
tests/left-panel.spec.ts:109:9 › #layersPanel › with GIS document › clicking a layer should select it: ui-tests/tests/left-panel.spec.ts#L118
2) tests/left-panel.spec.ts:109:9 › #layersPanel › with GIS document › clicking a layer should select it Error: Screenshot comparison failed: 346 pixels (ratio 0.06 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts-snapshots/layer-not-selected-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-left-panel--layersPanel-with-GIS-document-clicking-a-layer-should-select-it/layer-not-selected-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-left-panel--layersPanel-with-GIS-document-clicking-a-layer-should-select-it/layer-not-selected-diff.png 116 | 117 | await expect(layer.first()).not.toHaveClass(/jp-mod-selected/); > 118 | expect(await layer.first().screenshot()).toMatchSnapshot( | ^ 119 | 'layer-not-selected.png' 120 | ); 121 | at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts:118:48
tests/left-panel.spec.ts:109:9 › #layersPanel › with GIS document › clicking a layer should select it: ui-tests/tests/left-panel.spec.ts#L118
2) tests/left-panel.spec.ts:109:9 › #layersPanel › with GIS document › clicking a layer should select it Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: 346 pixels (ratio 0.06 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts-snapshots/layer-not-selected-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-left-panel--layersPanel-with-GIS-document-clicking-a-layer-should-select-it-retry1/layer-not-selected-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-left-panel--layersPanel-with-GIS-document-clicking-a-layer-should-select-it-retry1/layer-not-selected-diff.png 116 | 117 | await expect(layer.first()).not.toHaveClass(/jp-mod-selected/); > 118 | expect(await layer.first().screenshot()).toMatchSnapshot( | ^ 119 | 'layer-not-selected.png' 120 | ); 121 | at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/left-panel.spec.ts:118:48
tests/notebook.spec.ts:71:7 › Notebook API Visual Regression › Light theme: Cell outputs should be correct: ui-tests/tests/notebook.spec.ts#L49
3) tests/notebook.spec.ts:71:7 › Notebook API Visual Regression › Light theme: Cell outputs should be correct Error: Screenshot comparison failed: 795 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts-snapshots/light-Notebook-ipynb-cell-1-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Light-theme-Cell-outputs-should-be-correct/light-Notebook-ipynb-cell-1-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Light-theme-Cell-outputs-should-be-correct/light-Notebook-ipynb-cell-1-diff.png 47 | 48 | for (let c = 0; c < numCellImages; ++c) { > 49 | expect(results[c]).toMatchSnapshot( | ^ 50 | getCaptureImageName(contextPrefix, notebook, c) 51 | ); 52 | } at testCellOutputs (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:49:26) at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:75:5
tests/notebook.spec.ts:71:7 › Notebook API Visual Regression › Light theme: Cell outputs should be correct: ui-tests/tests/notebook.spec.ts#L49
3) tests/notebook.spec.ts:71:7 › Notebook API Visual Regression › Light theme: Cell outputs should be correct Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: 795 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts-snapshots/light-Notebook-ipynb-cell-1-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Light-theme-Cell-outputs-should-be-correct-retry1/light-Notebook-ipynb-cell-1-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Light-theme-Cell-outputs-should-be-correct-retry1/light-Notebook-ipynb-cell-1-diff.png 47 | 48 | for (let c = 0; c < numCellImages; ++c) { > 49 | expect(results[c]).toMatchSnapshot( | ^ 50 | getCaptureImageName(contextPrefix, notebook, c) 51 | ); 52 | } at testCellOutputs (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:49:26) at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:75:5
tests/notebook.spec.ts:78:7 › Notebook API Visual Regression › Dark theme: Cell outputs should be correct: ui-tests/tests/notebook.spec.ts#L49
4) tests/notebook.spec.ts:78:7 › Notebook API Visual Regression › Dark theme: Cell outputs should be correct Error: Screenshot comparison failed: 795 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts-snapshots/dark-Notebook-ipynb-cell-1-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Dark-theme-Cell-outputs-should-be-correct/dark-Notebook-ipynb-cell-1-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Dark-theme-Cell-outputs-should-be-correct/dark-Notebook-ipynb-cell-1-diff.png 47 | 48 | for (let c = 0; c < numCellImages; ++c) { > 49 | expect(results[c]).toMatchSnapshot( | ^ 50 | getCaptureImageName(contextPrefix, notebook, c) 51 | ); 52 | } at testCellOutputs (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:49:26) at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:82:5
tests/notebook.spec.ts:78:7 › Notebook API Visual Regression › Dark theme: Cell outputs should be correct: ui-tests/tests/notebook.spec.ts#L49
4) tests/notebook.spec.ts:78:7 › Notebook API Visual Regression › Dark theme: Cell outputs should be correct Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: 795 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts-snapshots/dark-Notebook-ipynb-cell-1-linux.png Received: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Dark-theme-Cell-outputs-should-be-correct-retry1/dark-Notebook-ipynb-cell-1-actual.png Diff: /home/runner/work/jupytergis/jupytergis/ui-tests/test-results/tests-notebook-Notebook-API-Visual-Regression-Dark-theme-Cell-outputs-should-be-correct-retry1/dark-Notebook-ipynb-cell-1-diff.png 47 | 48 | for (let c = 0; c < numCellImages; ++c) { > 49 | expect(results[c]).toMatchSnapshot( | ^ 50 | getCaptureImageName(contextPrefix, notebook, c) 51 | ); 52 | } at testCellOutputs (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:49:26) at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/notebook.spec.ts:82:5
tests/layer-browser.spec.ts:150:7 › #layerBrowser › clicking category filter twice should clear filter: ui-tests/tests/layer-browser.spec.ts#L1
5) tests/layer-browser.spec.ts:150:7 › #layerBrowser › clicking category filter twice should clear filter Test timeout of 60000ms exceeded.
tests/layer-browser.spec.ts:150:7 › #layerBrowser › clicking category filter twice should clear filter: ui-tests/tests/layer-browser.spec.ts#L82
5) tests/layer-browser.spec.ts:150:7 › #layerBrowser › clicking category filter twice should clear filter Error: locator.click: Page closed =========================== logs =========================== waiting for getByTitle('Open Layer Browser').locator('div') locator resolved to <div class="fa fa-book-open jp-Icon"></div> attempting click action waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #1 waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #2 waiting 20ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #3 waiting 100ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #4 waiting 100ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #5 waiting 500ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #6 waiting 500ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #7 waiting 500ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #8 waiting 500ms waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling <dialog aria-modal="true" class="lm-Widget jp-Dialog" ar…>…</dialog> intercepts pointer events retrying click action, attempt #9 waiting 500ms waiting for element to be visible, enabled and stable element was detached from the DOM, retrying ============================================================ 80 | 81 | if (!(await layerBrowser.isVisible())) { > 82 | await page.getByTitle('Open Layer Browser').locator('div').click(); | ^ 83 | await page.waitForCondition(async () => await layerBrowser.isVisible()); 84 | } 85 | return layerBrowser; at openLayerBrowser (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/layer-browser.spec.ts:82:64) at getGridTiles (/home/runner/work/jupytergis/jupytergis/ui-tests/tests/layer-browser.spec.ts:89:24) at /home/runner/work/jupytergis/jupytergis/ui-tests/tests/layer-browser.spec.ts:153:23
Check Links
The following actions uses Node.js version which is deprecated 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/
Lint check
The following actions uses Node.js version which is deprecated 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 jupytergis
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Build jupytergis
The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions/checkout@v3, actions/cache@v2, 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/
Build jupytergis
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test_isolated
The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions/setup-python@v4, actions/download-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 uses Node.js version which is deprecated 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: "extension-artifacts", "jupytergis-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
4 failed tests/left-panel.spec.ts:75:9 › #layersPanel › with GIS document › should restore empty layer panel tests/left-panel.spec.ts:109:9 › #layersPanel › with GIS document › clicking a layer should select it tests/notebook.spec.ts:71:7 › Notebook API Visual Regression › Light theme: Cell outputs should be correct tests/notebook.spec.ts:78:7 › Notebook API Visual Regression › Dark theme: Cell outputs should be correct 1 flaky tests/layer-browser.spec.ts:150:7 › #layerBrowser › clicking category filter twice should clear filter 14 passed (3.2m)

Artifacts

Produced during runtime
Name Size
extension-artifacts Expired
23.5 MB
jupytergis-playwright-tests Expired
27.9 MB