Fix undo bug #232
build.yml
on: pull_request
Build jupytergis
4m 51s
Lint check
1m 10s
Check Links
36s
test_isolated
26s
deploy
0s
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 |
|