Skip to content

docs: document local Sigima wheel workflow #117

docs: document local Sigima wheel workflow

docs: document local Sigima wheel workflow #117

Triggered via push August 21, 2026 08:01
Status Failure
Total duration 5h 10m 11s
Artifacts 1

tests.yml

on: push
TypeScript (Vitest)
1m 25s
TypeScript (Vitest)
End-to-end (Playwright)
5h 10m
End-to-end (Playwright)
Matrix: python
Fit to window
Zoom out
Zoom in

Annotations

12 errors, 5 warnings, and 1 notice
Python 3.11 (pytest)
Process completed with exit code 1.
Python 3.12 (pytest)
Process completed with exit code 1.
[chromium] › tests/e2e/camera_application_ui.spec.ts:13:1 › Camera recipe reveals its primary signal output: tests/e2e/fixtures.ts#L13
5) [chromium] › tests/e2e/camera_application_ui.spec.ts:13:1 › Camera recipe reveals its primary signal output Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/camera_application_ui.spec.ts:20:9
[chromium] › tests/e2e/camera_application_ui.spec.ts:13:1 › Camera recipe reveals its primary signal output: tests/e2e/fixtures.ts#L13
5) [chromium] › tests/e2e/camera_application_ui.spec.ts:13:1 › Camera recipe reveals its primary signal output Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/camera_application_ui.spec.ts:20:9
[chromium] › tests/e2e/application_menus.spec.ts:5:1 › Applications and application plugin menus follow desktop placement: tests/e2e/fixtures.ts#L13
4) [chromium] › tests/e2e/application_menus.spec.ts:5:1 › Applications and application plugin menus follow desktop placement Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_menus.spec.ts:10:9
[chromium] › tests/e2e/application_menus.spec.ts:5:1 › Applications and application plugin menus follow desktop placement: tests/e2e/fixtures.ts#L13
4) [chromium] › tests/e2e/application_menus.spec.ts:5:1 › Applications and application plugin menus follow desktop placement Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 10 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 172 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_menus.spec.ts:10:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:101:1 › deep link rejects a plugin version absent from the bundle: tests/e2e/fixtures.ts#L13
3) [chromium] › tests/e2e/application_deeplinks.spec.ts:101:1 › deep link rejects a plugin version absent from the bundle Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:106:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:101:1 › deep link rejects a plugin version absent from the bundle: tests/e2e/fixtures.ts#L13
3) [chromium] › tests/e2e/application_deeplinks.spec.ts:101:1 › deep link rejects a plugin version absent from the bundle Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 10 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 173 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:106:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:69:1 › Pulse deep link validates the bundle and opens its visible demo: tests/e2e/fixtures.ts#L13
2) [chromium] › tests/e2e/application_deeplinks.spec.ts:69:1 › Pulse deep link validates the bundle and opens its visible demo Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:74:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:69:1 › Pulse deep link validates the bundle and opens its visible demo: tests/e2e/fixtures.ts#L13
2) [chromium] › tests/e2e/application_deeplinks.spec.ts:69:1 › Pulse deep link validates the bundle and opens its visible demo Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:74:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:38:1 › Camera deep link validates the bundle and opens its visible quickstart: tests/e2e/fixtures.ts#L13
1) [chromium] › tests/e2e/application_deeplinks.spec.ts:38:1 › Camera deep link validates the bundle and opens its visible quickstart Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 11 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:43:9
[chromium] › tests/e2e/application_deeplinks.spec.ts:38:1 › Camera deep link validates the bundle and opens its visible quickstart: tests/e2e/fixtures.ts#L13
1) [chromium] › tests/e2e/application_deeplinks.spec.ts:38:1 › Camera deep link validates the bundle and opens its visible quickstart Error: expect(locator).toHaveAttribute(expected) failed Locator: locator('.app') Expected: "ready" Received: "error" Timeout: 180000ms Call log: - Expect "toHaveAttribute" with timeout 180000ms - waiting for locator('.app') 12 × locator resolved to <div class="app" data-runtime-status="loading">…</div> - unexpected value "loading" 171 × locator resolved to <div class="app" data-runtime-status="error">…</div> - unexpected value "error" at fixtures.ts:13 11 | // ~MB-sized bootstrap.py. On CI or slow PyPI this can exceed 90 s, so we 12 | // give it 3 minutes with a safety margin. > 13 | await expect(page.locator(".app")).toHaveAttribute( | ^ 14 | "data-runtime-status", 15 | "ready", 16 | { timeout: 180_000 }, at waitForRuntimeReady (/home/runner/work/web/web/tests/e2e/fixtures.ts:13:38) at /home/runner/work/web/web/tests/e2e/application_deeplinks.spec.ts:43:9
Python 3.11 (pytest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Python 3.12 (pytest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
TypeScript (Vitest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, 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/
TypeScript (Vitest): src/App.tsx#L4403
React Hook useMemo has a missing dependency: 'handleOpenFromDirectory'. Either include it or remove the dependency array
End-to-end (Playwright)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, 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 Run Summary
49 failed [chromium] › tests/e2e/application_deeplinks.spec.ts:38:1 › Camera deep link validates the bundle and opens its visible quickstart [chromium] › tests/e2e/application_deeplinks.spec.ts:69:1 › Pulse deep link validates the bundle and opens its visible demo [chromium] › tests/e2e/application_deeplinks.spec.ts:101:1 › deep link rejects a plugin version absent from the bundle [chromium] › tests/e2e/application_menus.spec.ts:5:1 › Applications and application plugin menus follow desktop placement [chromium] › tests/e2e/camera_application_ui.spec.ts:13:1 › Camera recipe reveals its primary signal output [chromium] › tests/e2e/camera_bundle.spec.ts:77:1 › bundled Camera workflow renders curve, map, and metrics within budget [chromium] › tests/e2e/central_view_switch.spec.ts:26:3 › central + tree switchers › two switchers, fully orthogonal [chromium] › tests/e2e/clear_recent_probe.spec.ts:12:1 › Clear all empties the recent macro cache [chromium] › tests/e2e/i18n.spec.ts:20:3 › Internationalisation (French locale) › translates UI menus and Sigima-origin labels with ?lang=fr [chromium] › tests/e2e/i18n.spec.ts:44:3 › Internationalisation (French locale) › translates the workspace chrome (tabs, side panel, welcome page) [chromium] › tests/e2e/i18n.spec.ts:65:3 › Internationalisation (French locale) › translates Processing submenus and key feature labels [chromium] › tests/e2e/image-lod.spec.ts:92:3 › Image LOD display › decimates the display bitmap while keeping full-resolution data [chromium] › tests/e2e/image-pan.spec.ts:59:3 › Image viewer zoom/pan › layout-image render, box-zoom, and 2-D pan [chromium] › tests/e2e/image-roi-drag.spec.ts:131:3 › Image ROI live drag › rectangle moves live (mid-drag, not only on release) [chromium] › tests/e2e/image-roi-drag.spec.ts:171:3 › Image ROI live drag › rectangle resizes live via a corner handle [chromium] › tests/e2e/image-roi-drag.spec.ts:206:3 › Image ROI live drag › circle moves live ── [chromium] › tests/e2e/image-roi-drag.spec.ts:242:3 › Image ROI live drag › rectangle resizes live via an edge handle [chromium] › tests/e2e/image-roi-drag.spec.ts:275:3 › Image ROI live drag › hovering a ROI sets a move / resize cursor [chromium] › tests/e2e/macro.spec.ts:21:1 › macro UI: type, run, see output ──────────────────── [chromium] › tests/e2e/memory.spec.ts:24:3 › Memory management › menu-bar indicator reports a live heap figure [chromium] › tests/e2e/memory.spec.ts:49:3 › Memory management › Free memory reclaims dropped references and bounds heap growth [chromium] › tests/e2e/multi-image-spatial.spec.ts:101:1 › spatial multi-image: pan stays armed, 2-D pan, autoscale persists [chromium] › tests/e2e/multi-image-spatial.spec.ts:214:1 › spatial multi-image: four 2048² images use viewport LOD and exact zoom [chromium] › tests/e2e/notebooks.spec.ts:52:3 › Notebook UI › cell content survives a panel round-trip [chromium] › tests/e2e/notebooks.spec.ts:456:3 › Quickstart notebook template › loads on first boot in a fresh browser context [chromium] › tests/e2e/object-title-editing.spec.ts:72:3 › Object title editing › signal title is read-only on the plot and editable in Properties [chromium] › tests/e2e/plugin_dialog_bridge.spec.ts:5:1 › plugin DataSet.edit_async uses the native guidata dialog backend [chromium] › tests/e2e/preload_deeplink.spec.ts:8:3 › preload deep link › ?preload=demos/spectroscopy.h5 loads the demo workspace [chromium] › tests/e2e/preload_deeplink.spec.ts:30:3 › preload deep link › image-only workspace auto-switches to the Image panel [chromium] › tests/e2e/preload_deeplink.spec.ts:56:3 › preload deep link › standalone ?panel=image opens on the Image panel [chromium] › tests/e2e/preload_deeplink.spec.ts:66:3 › pr

Artifacts

Produced during runtime
Name Size Digest
coverage-typescript
2.23 MB
sha256:07b6662a6ad32f6be104fa7361b21e24443927821cd566cb81f99bb426c8bb6f