Skip to content

labels rendering performance improvement: create ImageBitmaps in worker #6446

labels rendering performance improvement: create ImageBitmaps in worker

labels rendering performance improvement: create ImageBitmaps in worker #6446

Triggered via pull request November 22, 2024 23:26
Status Failure
Total duration 52m 6s
Billable time 1h 23m
Artifacts 2

pr.yml

on: pull_request
modified-files
38s
modified-files
Matrix: test / test-python
all-tests
0s
all-tests
Fit to window
Zoom out
Zoom in

Annotations

16 errors, 20 warnings, and 1 notice
packages/looker/src/worker/disk-overlay-decoder.test.ts > decodeOverlayOnDisk > should fetch and decode overlay when label has overlay path field: app/packages/state/src/recoil/utils.ts#L17
Error: [vitest] No "determinePathType" export is defined on the "@fiftyone/utilities" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock("@fiftyone/utilities", async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ Module.getSampleSrc packages/state/src/recoil/utils.ts:17:7 ❯ Module.decodeOverlayOnDisk packages/looker/src/worker/disk-overlay-decoder.ts:61:27 ❯ packages/looker/src/worker/disk-overlay-decoder.test.ts:78:11
packages/looker/src/worker/disk-overlay-decoder.test.ts > decodeOverlayOnDisk > should handle HEATMAP class: app/packages/state/src/recoil/utils.ts#L17
Error: [vitest] No "determinePathType" export is defined on the "@fiftyone/utilities" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock("@fiftyone/utilities", async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ Module.getSampleSrc packages/state/src/recoil/utils.ts:17:7 ❯ Module.decodeOverlayOnDisk packages/looker/src/worker/disk-overlay-decoder.ts:61:27 ❯ packages/looker/src/worker/disk-overlay-decoder.test.ts:114:11
packages/looker/src/worker/disk-overlay-decoder.test.ts > decodeOverlayOnDisk > should handle DETECTIONS class and process detections recursively: app/packages/state/src/recoil/utils.ts#L17
Error: [vitest] No "determinePathType" export is defined on the "@fiftyone/utilities" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock("@fiftyone/utilities", async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ Module.getSampleSrc packages/state/src/recoil/utils.ts:17:7 ❯ decodeOverlayOnDisk packages/looker/src/worker/disk-overlay-decoder.ts:61:27 ❯ Module.decodeOverlayOnDisk packages/looker/src/worker/disk-overlay-decoder.ts:35:9 ❯ packages/looker/src/worker/disk-overlay-decoder.test.ts:166:11
packages/looker/src/worker/disk-overlay-decoder.test.ts > decodeOverlayOnDisk > should return early if fetch (with retry) fails: app/packages/state/src/recoil/utils.ts#L17
Error: [vitest] No "determinePathType" export is defined on the "@fiftyone/utilities" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock("@fiftyone/utilities", async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ Module.getSampleSrc packages/state/src/recoil/utils.ts:17:7 ❯ Module.decodeOverlayOnDisk packages/looker/src/worker/disk-overlay-decoder.ts:61:27 ❯ packages/looker/src/worker/disk-overlay-decoder.test.ts:200:11
test / test-app
Process completed with exit code 1.
[chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine: e2e-pw/src/oss/poms/modal/index.ts#L251
1) [chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine TimeoutError: page.waitForFunction: Timeout 10000ms exceeded. at oss/poms/modal/index.ts:251 249 | 250 | async waitForSampleLoadDomAttribute(allowErrorInfo = false) { > 251 | return this.page.waitForFunction( | ^ 252 | (allowErrorInfo) => { 253 | if ( 254 | allowErrorInfo && at ModalPom.waitForSampleLoadDomAttribute (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/index.ts:251:22) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/overlays/detection-mask.spec.ts:107:17
[chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine: e2e-pw/src/oss/poms/modal/index.ts#L251
1) [chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForFunction: Timeout 10000ms exceeded. at oss/poms/modal/index.ts:251 249 | 250 | async waitForSampleLoadDomAttribute(allowErrorInfo = false) { > 251 | return this.page.waitForFunction( | ^ 252 | (allowErrorInfo) => { 253 | if ( 254 | allowErrorInfo && at ModalPom.waitForSampleLoadDomAttribute (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/index.ts:251:22) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/overlays/detection-mask.spec.ts:107:17
[chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine: e2e-pw/src/oss/poms/modal/index.ts#L251
1) [chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForFunction: Timeout 10000ms exceeded. at oss/poms/modal/index.ts:251 249 | 250 | async waitForSampleLoadDomAttribute(allowErrorInfo = false) { > 251 | return this.page.waitForFunction( | ^ 252 | (allowErrorInfo) => { 253 | if ( 254 | allowErrorInfo && at ModalPom.waitForSampleLoadDomAttribute (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/index.ts:251:22) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/overlays/detection-mask.spec.ts:107:17
[chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine: e2e-pw/src/oss/poms/modal/index.ts#L251
1) [chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForFunction: Timeout 10000ms exceeded. at oss/poms/modal/index.ts:251 249 | 250 | async waitForSampleLoadDomAttribute(allowErrorInfo = false) { > 251 | return this.page.waitForFunction( | ^ 252 | (allowErrorInfo) => { 253 | if ( 254 | allowErrorInfo && at ModalPom.waitForSampleLoadDomAttribute (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/index.ts:251:22) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/overlays/detection-mask.spec.ts:107:17
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/poms/modal/index.ts#L314
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Error: expect(received).toBe(expected) // Object.is equality Expected: "πŸ“Œ v1" Received: "πŸ“Œ v2" at oss/poms/modal/index.ts:314 312 | const actualTitle = await this.modalPom.modalSamplePluginTitle; 313 | const expectedTitle = pinned ? `πŸ“Œ ${title}` : title; > 314 | expect(actualTitle).toBe(expectedTitle); | ^ 315 | } 316 | } 317 | at ModalAsserter.verifyModalSamplePluginTitle (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/index.ts:314:25) at checkVideo (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:98:7) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:121:5
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts#L1
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/poms/modal/video-controls.ts#L71
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForFunction: Test timeout of 60000ms exceeded. at oss/poms/modal/video-controls.ts:71 69 | await this.togglePlay(); 70 | > 71 | await this.page.waitForFunction( | ^ 72 | ({ frameText_, matchBeginning_ }) => { 73 | const frameTextDom = document.querySelector( 74 | "[data-cy=looker-video-time]" at ModalVideoControlsPom.playUntilFrames (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/video-controls.ts:71:21) at checkVideo (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:108:7) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:121:5
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts#L1
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/poms/modal/video-controls.ts#L71
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForFunction: Test timeout of 60000ms exceeded. at oss/poms/modal/video-controls.ts:71 69 | await this.togglePlay(); 70 | > 71 | await this.page.waitForFunction( | ^ 72 | ({ frameText_, matchBeginning_ }) => { 73 | const frameTextDom = document.querySelector( 74 | "[data-cy=looker-video-time]" at ModalVideoControlsPom.playUntilFrames (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/poms/modal/video-controls.ts:71:21) at checkVideo (/home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:108:7) at /home/runner/work/fiftyone/fiftyone/e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts:121:5
[chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice: e2e-pw/src/oss/specs/regression-tests/group-video/group-video-label.spec.ts#L1
2) [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
all-tests
Process completed with exit code 1.
lint / eslint: app/packages/operators/src/CustomPanel.tsx#L40
React Hook useEffect has missing dependencies: 'panelId', 'panelName', 'setPanelCloseEffect', and 'trackEvent'. Either include them or remove the dependency array
lint / eslint: app/packages/operators/src/CustomPanel.tsx#L105
React Hook useEffect has a missing dependency: 'dimensions'. Either include it or remove the dependency array
lint / eslint: app/packages/operators/src/built-in-operators.ts#L815
'ctx' is defined but never used. Allowed unused args must match /^_/u
lint / eslint
'ctx' is defined but never used. Allowed unused args must match /^_/u
lint / eslint
'ctx' is defined but never used. Allowed unused args must match /^_/u
lint / eslint
'ctx' is defined but never used. Allowed unused args must match /^_/u
lint / eslint
'ctx' is defined but never used. Allowed unused args must match /^_/u
lint / eslint
'path' is never reassigned. Use 'const' instead
lint / eslint
'value' is never reassigned. Use 'const' instead
lint / eslint
'ctx' is defined but never used. Allowed unused args must match /^_/u
test / test-python (ubuntu-latest-m, 3.9)
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 / test-python (ubuntu-latest-m, 3.10)
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 / test-python (ubuntu-latest-m, 3.11)
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/
Slow Test: e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/field-visibility.spec.ts#L1
e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/field-visibility.spec.ts took 3.7m
Slow Test: e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/saved-views.spec.ts#L1
e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/saved-views.spec.ts took 1.4m
Slow Test: e2e-pw/[chromium] β€Ί oss/specs/selection.spec.ts#L1
e2e-pw/[chromium] β€Ί oss/specs/selection.spec.ts took 1.3m
Slow Test: e2e-pw/[chromium] β€Ί oss/specs/operators/prompt.spec.ts#L1
e2e-pw/[chromium] β€Ί oss/specs/operators/prompt.spec.ts took 1.1m
Slow Test: e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/tagger.spec.ts#L1
e2e-pw/[chromium] β€Ί oss/specs/smoke-tests/tagger.spec.ts took 59.6s
e2e / test-e2e
Unexpected input(s) 'working-directory', valid inputs are ['path', 'key', 'restore-keys', 'upload-chunk-size', 'enableCrossOsArchive', 'fail-on-cache-miss', 'lookup-only', 'save-always']
e2e / test-e2e
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/
🎭 Playwright Run Summary
2 failed [chromium] β€Ί oss/specs/overlays/detection-mask.spec.ts:102:3 β€Ί detection-mask β€Ί should load all masks fine [chromium] β€Ί oss/specs/regression-tests/group-video/group-video-label.spec.ts:87:3 β€Ί groups video labels β€Ί video plays with correct label for each slice 12 flaky [chromium] β€Ί oss/specs/groups/dynamic-groups.spec.ts:70:3 β€Ί pcd dynamic group pagination bar ─── [chromium] β€Ί oss/specs/groups/dynamic-groups.spec.ts:70:3 β€Ί png dynamic group pagination bar ─── [chromium] β€Ί oss/specs/groups/nested-dynamic-groups.spec.ts:116:1 β€Ί dynamic groups of groups works [chromium] β€Ί oss/specs/groups/sparse-groups.spec.ts:96:3 β€Ί mp4 second slice ──────────────────── [chromium] β€Ί oss/specs/groups/sparse-groups.spec.ts:96:3 β€Ί png second slice ──────────────────── [chromium] β€Ί oss/specs/smoke-tests/embeddings.spec.ts:62:3 β€Ί embeddings on quickstart dataset β€Ί lasso samples work [chromium] β€Ί oss/specs/smoke-tests/quickstart-groups.spec.ts:79:5 β€Ί quickstart-groups β€Ί modal β€Ί navigation works [chromium] β€Ί oss/specs/smoke-tests/quickstart-groups.spec.ts:104:5 β€Ί quickstart-groups β€Ί modal β€Ί group media visibility toggle works [chromium] β€Ί oss/specs/smoke-tests/quickstart-groups.spec.ts:139:3 β€Ί quickstart-groups β€Ί modal with grid filter [chromium] β€Ί oss/specs/smoke-tests/quickstart.spec.ts:36:3 β€Ί quickstart β€Ί smoke ──────────────── [chromium] β€Ί oss/specs/smoke-tests/quickstart.spec.ts:63:3 β€Ί quickstart β€Ί entry counts text when toPatches then groupedBy [chromium] β€Ί oss/specs/smoke-tests/quickstart.spec.ts:80:3 β€Ί quickstart β€Ί selection bookmark ─── 2 skipped 90 passed (41.5m)

Artifacts

Produced during runtime
Name Size
dist
19.7 MB
playwright-report
111 MB