Skip to content

test: get snapshots working again #7016

test: get snapshots working again

test: get snapshots working again #7016

Triggered via pull request March 11, 2026 10:41
Status Failure
Total duration 8m 23s
Artifacts 7

build.yml

on: pull_request
Matrix: playwright
Merge Playwright Reports
49s
Merge Playwright Reports
Fit to window
Zoom out
Zoom in

Annotations

31 errors, 5 warnings, and 4 notices
Playwright Tests - chromium
Process completed with exit code 1.
[chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) 152 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry2/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry2/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) 152 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry1/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry1/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Error: expect(Buffer).toMatchSnapshot(expected) 152 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-chromium-retry2/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-chromium-retry1/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-chromium/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-chromium-retry2/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-chromium-retry1/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-chromium/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
Playwright Tests - firefox
Process completed with exit code 1.
[firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) 147 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry2/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry2/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) 147 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry1/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry1/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Error: expect(Buffer).toMatchSnapshot(expected) 147 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png"); | ^ 38 | 39 | await page.goto(BASIC_BLOCKS_STATIC_URL); 40 | await page.waitForLoadState("networkidle"); at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-firefox-retry2/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-firefox-retry1/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
2) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-firefox/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-firefox-retry2/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-firefox-retry1/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-firefox/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[webkit] › src/end-to-end/images/images.test.ts:62:7 › Check Image Block and Toolbar functionality › Should be able to resize image: tests/src/end-to-end/images/images.test.ts#L101
4) [webkit] › src/end-to-end/images/images.test.ts:62:7 › Check Image Block and Toolbar functionality › Should be able to resize image Error: expect(Buffer).toMatchSnapshot(expected) 1232 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/images/images.test.ts-snapshots/resize-image-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/images-images-Check-Image--cb35f-uld-be-able-to-resize-image-webkit/resize-image-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/images-images-Check-Image--cb35f-uld-be-able-to-resize-image-webkit/resize-image-diff.png 99 | await page.waitForTimeout(500); 100 | await compareDocToSnapshot(page, "resizeImage"); > 101 | expect(await page.screenshot()).toMatchSnapshot("resize-image.png"); | ^ 102 | }); 103 | test("Should be able to delete image with backspace", async ({ page }) => { 104 | await focusOnEditor(page); at /__w/BlockNote/BlockNote/tests/src/end-to-end/images/images.test.ts:101:37
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
3) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-webkit-retry2/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
3) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-webkit-retry1/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks: tests/src/utils/editor.ts#L47
3) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/332x322.jpg" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/reactInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--ee421--update-React-custom-blocks-webkit/reactInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:32:5
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-webkit-retry2/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-webkit-retry1/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks Error: expect(string).toMatchSnapshot(expected) @@ -33,11 +33,11 @@ }, "content": [ { "type": "simpleImage", "attrs": { - "src": "https://t3.ftcdn.net/jpg/02/48/42/64/360_F_248426448_NVKLywWqArG2ADUxDq6QprtIzsF82dMF.jpg" + "src": "https://placehold.co/800x540.png" } } ] }, { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts-snapshots/vanillaInteractivity-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/customblocks-customblocks--8679c-pdate-vanilla-custom-blocks-webkit/vanillaInteractivity-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/customblocks/customblocks.test.ts:18:5
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L30
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 2560px by 2926px, received 2560px by 2368px. 1243725 pixels (ratio 0.17 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts-snapshots/basicblocks-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit-retry2/basicblocks-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit-retry2/basicblocks-diff.png 28 | 29 | await page.waitForTimeout(100); > 30 | expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( | ^ 31 | "basicblocks.png", 32 | ); 33 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:30:55
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L30
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 2560px by 2926px, received 2560px by 2368px. 1243725 pixels (ratio 0.17 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts-snapshots/basicblocks-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit-retry1/basicblocks-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit-retry1/basicblocks-diff.png 28 | 29 | await page.waitForTimeout(100); > 30 | expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( | ^ 31 | "basicblocks.png", 32 | ); 33 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:30:55
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L30
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 2560px by 2926px, received 2560px by 2368px. 1243725 pixels (ratio 0.17 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts-snapshots/basicblocks-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit/basicblocks-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/basics-basicblocks-Check-b-0319e-basic-text-block-appearance-webkit/basicblocks-diff.png 28 | 29 | await page.waitForTimeout(100); > 30 | expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( | ^ 31 | "basicblocks.png", 32 | ); 33 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:30:55
Merge Playwright Reports
Process completed with exit code 1.
Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - chromium
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - firefox
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - webkit
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Merge Playwright Reports
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build
{ "workflowData": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "015cf2f3e4a3ac6d4c4806d813d3db87eb8c599f", "ref": "2554" }, "key": "UVlKPH7rnR", "runId": 22948605560, "webhookDebug": { "action": "requested", "head_branch": "snaps", "head_repository_full_name": "TypeCellOS/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2554, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "TypeCellOS/BlockNote:snaps", "oldPrDataHash": "RoyULopbq8", "lookupKey": "TypeCellOS/BlockNote:snaps", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "5c3646e69302a734a338223e532ecb0c4edacc56", "ref": "2554" } } }
🎭 Playwright Run Summary
3 failed [chromium] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks [chromium] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 1 skipped 118 passed (3.3m)
🎭 Playwright Run Summary
3 failed [firefox] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks [firefox] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 11 skipped 108 passed (4.0m)
🎭 Playwright Run Summary
5 failed [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance [webkit] › src/end-to-end/customblocks/customblocks.test.ts:10:7 › Check custom block functionality › Should be able to interactively update vanilla custom blocks [webkit] › src/end-to-end/customblocks/customblocks.test.ts:24:7 › Check custom block functionality › Should be able to interactively update React custom blocks [webkit] › src/end-to-end/images/images.test.ts:62:7 › Check Image Block and Toolbar functionality › Should be able to resize image [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 9 skipped 108 passed (5.5m)

Artifacts

Produced during runtime
Name Size Digest
blob-report-chromium Expired
3.32 MB
sha256:1dc2b07cb02d978939baf2b1eee18977e50670566cfcce51bb850a1b3543eac0
blob-report-firefox Expired
5.34 MB
sha256:b57fee243cd96e4a426672c96f8dcb0653b3599728d7f8fc459dcd0ef2d5a4fc
blob-report-webkit Expired
25.5 MB
sha256:6d7b95c4b435c4b8b938953218593779f7cda01f432342c9b4bb6ed27f1e4ab9
playwright-report-chromium
3.34 MB
sha256:f222dc698a98c4bfc94b2557d193c3f86e9271b85a24139bc363ee928bcda1f8
playwright-report-firefox
5.2 MB
sha256:61736d1fbd04214c2bab78bf22d99971d96a3d3bb79e617c3b455105b4faf3ad
playwright-report-webkit
21.1 MB
sha256:9551b12e686b88c3b24a4e421edb0691d8a37a557094b4bfdd0c37c20eb1df3b
relative-ci-artifacts-editor
46.8 KB
sha256:ba23fcdc48b5e06c4d365ec95a2c0099c958984a479b46d73428f915fe177d30