feat(html reporter): show attachments in attachment steps
Closes https://github.com/microsoft/playwright/issues/32748.
Adds a TestStep.attachments array to the Reporter API that shows all attachments for the step. Removes the artificial attach "foo" step for all calls except TestInfo.attach(). Updates the HTML Report to show attachments in the step list.
Before:
After:
Note that the Attachments chip goes away in favour of showing all attachments in the steps view. This means there's less repetition in the UI, but it also makes it harder to find deeply nested attachments. I'll also work on an alternative UI to see what else we could show here.
Test results for "tests 1"
40 failed :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node22-2
5139 passed, 16 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Those test failures are all because attachments are now listed twice on the page, so Playwright doesn't know what element to resolve to. I'll update the tests once we've agreed on a UI for this.
Test results for "tests 1"
50 failed :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @windows-latest-node18-2
6519 passed, 21 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Test results for "tests 1"
50 failed :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:332:5 › created › should not include image diff with non-images @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:390:5 › created › should use different path if attachments base url option is provided @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:553:5 › created › should show multi trace source @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:764:5 › created › should render text attachments as text @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:805:5 › created › should have link for opening HTML attachments in new tab @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:831:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @windows-latest-node18-2
1 flaky
:warning: [playwright-test] › ui-mode-test-watch.spec.ts:145:5 › should watch all @windows-latest-node18-135831 passed, 620 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Turning into draft to implement what we discussed yesterday:
- TestStep.attachments return its own attachments
- remove attachment steps for everything but explicit TestInfo.attach()
- add UI for linking from steps to attachments to Trace Viewer and HTML report
Test results for "tests 1"
50 failed :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:400:5 › created › should use different path if attachments base url option is provided @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:563:5 › created › should show multi trace source @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:774:5 › created › should render text attachments as text @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:815:5 › created › should have link for opening HTML attachments in new tab @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:841:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @macos-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:400:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:563:5 › created › should show multi trace source @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:774:5 › created › should render text attachments as text @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:815:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:841:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:400:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:563:5 › created › should show multi trace source @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:774:5 › created › should render text attachments as text @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:815:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:841:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:400:5 › created › should use different path if attachments base url option is provided @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:563:5 › created › should show multi trace source @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:774:5 › created › should render text attachments as text @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:815:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:841:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-blob.spec.ts:573:1 › preserve attachments @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:633:1 › generate html with attachment urls @windows-latest-node18-2 :x: [playwright-test] › reporter-blob.spec.ts:714:1 › resource names should not clash between runs @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:134:5 › created › should not throw when attachment is missing @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:400:5 › created › should use different path if attachments base url option is provided @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:563:5 › created › should show multi trace source @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:774:5 › created › should render text attachments as text @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:815:5 › created › should have link for opening HTML attachments in new tab @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:841:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @windows-latest-node18-2
2 flaky
:warning: [webkit-library] › library/screenshot.spec.ts:42:14 › page screenshot › should work with a mobile viewport @webkit-ubuntu-22.04-node18:warning: [webkit-library] › library/screenshot.spec.ts:53:14 › page screenshot › should work with a mobile viewport and clip @webkit-ubuntu-22.04-node18
35933 passed, 624 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Test results for "tests 1"
5 failed :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @windows-latest-node18-2
25825 passed, 430 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Test results for "tests 1"
46 failed :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @macos-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @macos-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @macos-latest-node18-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node18-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node20-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node20-1 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node20-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node22-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node22-1 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @ubuntu-latest-node22-2 :x: [playwright-test] › exit-code.spec.ts:159:5 › should respect global timeout @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @windows-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @windows-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:889:5 › created › should show attachments in step lsit @windows-latest-node18-2
6 flaky
:warning: [chromium-library] › library/chromium/oopif.spec.ts:283:3 › should click @chromium-ubuntu-22.04-node22:warning: [firefox-page] › page/page-goto.spec.ts:81:3 › should work with Cross-Origin-Opener-Policy @firefox-ubuntu-22.04-node18
:warning: [webkit-library] › library/browsercontext-pages.spec.ts:105:3 › should return bounding box with page scale @webkit-ubuntu-22.04-node18
:warning: [webkit-library] › library/screenshot.spec.ts:94:14 › page screenshot › should work with device scale factor and scale:css @webkit-ubuntu-22.04-node18
:warning: [webkit-library] › library/screenshot.spec.ts:204:14 › element screenshot › element screenshot should work with a mobile viewport @webkit-ubuntu-22.04-node18
:warning: [webkit-library] › library/screenshot.spec.ts:217:14 › element screenshot › element screenshot should work with device scale factor @webkit-ubuntu-22.04-node18
35933 passed, 624 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Test results for "tests 1"
40 failed :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @macos-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node20-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node22-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @windows-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:155:5 › should show image diff @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @windows-latest-node18-1
3 flaky
:warning: [webkit-library] › library/browsercontext-clearcookies.spec.ts:146:3 › should remove cookies by name and domain @webkit-ubuntu-22.04-node18:warning: [webkit-library] › library/screenshot.spec.ts:75:14 › page screenshot › should work with device scale factor @webkit-ubuntu-22.04-node18
:warning: [webkit-library] › library/screenshot.spec.ts:217:14 › element screenshot › element screenshot should work with device scale factor @webkit-ubuntu-22.04-node18
35942 passed, 624 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
Here's another draft for how the attachments UI could look like. It keeps the existing Attachments chip, and links to it from the step list:
https://github.com/user-attachments/assets/73cda2c6-1b7c-4065-a153-39f2a59bf686
It's not very polished, but I think I prefer the current approach where the attachments are inside the step list.
notes from call with Dima:
- "attach" step stays, but not for
attachments.push. give folks a reason to migrate to.attach - in trace viewer, "attach" step gets attachment icon
- attachment icon somehow reveals attachment bodies (either instead of browser snapshot or in attachment tab)
- attachment tab has some sort of backlink to sources or actions (make it similar to errors)
- that way, trace structure doesn't need any changes
- open question: is attachment icon recursive? does it show the icon if child steps have attachments?
- for
toHaveScreenshot: make sure that they don't have their own "attach" steps - our own steps shouldn't rely on zones for parent detection, make it explicit
- reuse step.complete
Unrelated:
- "expect.toHaveScreenshot" attachment shouldn't say "image diff", but have a title that references to toHaveScreenshot. Ideally another backlink
Test results for "tests 1"
55 failed :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @macos-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @macos-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @macos-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @macos-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:843:5 › created › should have link for opening HTML attachments in new tab @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:869:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @macos-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:917:5 › created › should show attachments in step lsit @macos-latest-node18-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:843:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:869:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:917:5 › created › should show attachments in step lsit @ubuntu-latest-node18-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node20-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node20-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node20-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node20-1 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:843:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:869:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node20-2 :x: [playwright-test] › reporter-html.spec.ts:917:5 › created › should show attachments in step lsit @ubuntu-latest-node20-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @ubuntu-latest-node22-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @ubuntu-latest-node22-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @ubuntu-latest-node22-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @ubuntu-latest-node22-1 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:843:5 › created › should have link for opening HTML attachments in new tab @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:869:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @ubuntu-latest-node22-2 :x: [playwright-test] › reporter-html.spec.ts:917:5 › created › should show attachments in step lsit @ubuntu-latest-node22-2 :x: [playwright-test] › playwright.trace.spec.ts:516:5 › should include attachments by default @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:546:5 › should opt out of attachments @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:718:5 › should not throw when attachment is missing @windows-latest-node18-1 :x: [playwright-test] › playwright.trace.spec.ts:737:5 › should not throw when screenshot on failure fails @windows-latest-node18-1 :x: [playwright-test] › to-have-screenshot.spec.ts:236:5 › should report toHaveScreenshot step with expectation name in title @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:76:5 › should merge screenshot assertions @windows-latest-node18-1 :x: [playwright-test] › ui-mode-trace.spec.ts:180:5 › should show screenshot @windows-latest-node18-1 :x: [playwright-test] › reporter-html.spec.ts:342:5 › created › should not include image diff with non-images @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:843:5 › created › should have link for opening HTML attachments in new tab @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:869:5 › created › should use file-browser friendly extensions for buffer attachments based on contentType @windows-latest-node18-2 :x: [playwright-test] › reporter-html.spec.ts:917:5 › created › should show attachments in step lsit @windows-latest-node18-2
36354 passed, 639 skipped :heavy_check_mark::heavy_check_mark::heavy_check_mark:
Merge workflow run.
closing in favour of separate PRs