diff --git a/.github/workflows/end-to-end-tests.yaml b/.github/workflows/end-to-end-tests.yaml index 6b9f514871..ba3f38a65e 100644 --- a/.github/workflows/end-to-end-tests.yaml +++ b/.github/workflows/end-to-end-tests.yaml @@ -217,17 +217,29 @@ jobs: with: pattern: all-blob-reports-* path: all-blob-reports - merge-multiple: true + + # Ideally we'd use merge-multiple=true on download, but it is broken in certain cases + # https://github.com/microsoft/playwright/issues/29451 + - name: Check report integrity + if: inputs.skip != true + run: | + for file in all-blob-reports/*.zip; do + unzip -t $file + done + - name: Merge blob reports + if: inputs.skip != true + run: for z in all-blob-reports/*.zip; do unar -r "$z" -o all-blob-reports-merged; done - name: Merge into HTML Report if: inputs.skip != true - run: yarn playwright merge-reports --reporter=html,json,./playwright/flaky-reporter.ts,./playwright/stale-screenshot-reporter.ts ./all-blob-reports + run: yarn playwright merge-reports --reporter=html,json,./playwright/flaky-reporter.ts,./playwright/stale-screenshot-reporter.ts ./all-blob-reports-merged env: # Only pass creds to the flaky-reporter on main branch runs GITHUB_TOKEN: ${{ github.ref_name == 'develop' && secrets.ELEMENT_BOT_TOKEN || '' }} PLAYWRIGHT_JSON_OUTPUT_NAME: playwright-results.json - name: Cache playwright-results.json + if: inputs.skip != true uses: actions/cache/save@v4 with: path: playwright-results.json