feat(screenshot-diff): replace odiff with unified Rust diff engine #5453
ci.yml
on: pull_request
Matrix: e2e-test
Matrix: integration-test
unit-test
45s
storybook-test
1m 36s
storybook-publish
1m 0s
static-analysis
1m 26s
test
2s
Annotations
19 errors
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages imageCompression4:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages imageCompression3:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages imageCompression2:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages imageCompression1:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages fontAliasing:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages boxShadow:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages border:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages big-images:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages alphaSmallGraph:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/diff/image/index.test.ts > #diffImages > diffImages alphaBackground:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
static-analysis
Process completed with exit code 2.
|
|
static-analysis
@argos/backend#check-types: command (/home/runner/work/argos/argos/apps/backend) /usr/local/bin/pnpm run check-types exited (2)
|
|
static-analysis
Module '"@argos-ci/mask-fingerprint"' has no exported member 'diffScreenshots'.
|
|
integration-test (2)
Process completed with exit code 1.
|
|
apps/backend/src/screenshot-diff/computeScreenshotDiff.e2e.test.ts > #computeScreenshotDiff > with two different screenshots > does not apply existing ignored changes when the ignore feature is disabled:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/computeScreenshotDiff.e2e.test.ts > #computeScreenshotDiff > with two different screenshots > should not auto-ignore if latest action is user files.unignored:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/computeScreenshotDiff.e2e.test.ts > #computeScreenshotDiff > with two different screenshots > should auto-ignore changes when configured threshold is reached:
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
apps/backend/src/screenshot-diff/computeScreenshotDiff.e2e.test.ts > #computeScreenshotDiff > with two different screenshots > should update result and notify "diff-detected":
apps/backend/src/screenshot-diff/diff/image/index.ts#L234
TypeError: diffScreenshots is not a function
❯ apps/backend/src/screenshot-diff/diff/image/index.ts:234:9
❯ handleCallbackErrors.status.status node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:90:14
❯ handleCallbackErrors node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/utils/handleCallbackErrors.ts:52:25
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:89:13
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:621:29
❯ node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:67:11
❯ AsyncContextStack.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:49:27
❯ Object.withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/asyncContext/stackStrategy.ts:129:32
❯ withScope node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/currentScopes.ts:84:17
❯ Module.startSpan node_modules/.pnpm/@sentry+core@10.59.0/node_modules/@sentry/core/src/tracing/trace.ts:63:9
|
|
test
Process completed with exit code 1.
|