Skip to content

Enhance CI workflow with E2E sharding and report merging#1652

Open
paustint wants to merge 3 commits intomainfrom
chore/chard-ci-e2e-job
Open

Enhance CI workflow with E2E sharding and report merging#1652
paustint wants to merge 3 commits intomainfrom
chore/chard-ci-e2e-job

Conversation

@paustint
Copy link
Copy Markdown
Contributor

Implement sharding for end-to-end tests and merge reports into a single HTML report, improving CI efficiency and test result visibility.

Copilot AI review requested due to automatic review settings April 10, 2026 15:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Jetstream E2E CI pipeline to run Playwright tests in shards and then merge shard outputs into a single HTML report artifact, aiming to reduce overall CI time and improve test report visibility.

Changes:

  • Switch Playwright CI reporter from html to blob so shard results can be merged later.
  • Shard the E2E job into 4 matrix runs and upload a blob report artifact per shard.
  • Add a follow-up job to download all blob reports, merge them, and upload a single HTML report artifact.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
apps/jetstream-e2e/playwright.config.ts Uses blob reporter in CI to enable post-run report merging.
.github/workflows/ci.yml Adds Playwright sharding, per-shard blob artifacts, and a merge job producing one HTML report.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@paustint
Copy link
Copy Markdown
Contributor Author

@copilot - fix the ci job, the mer process does not work

Run npx playwright merge-reports --reporter html ./all-blob-reports
Error: Directory does not exist: /home/runner/work/jetstream/jetstream/all-blob-reports
    at mergeReports (/home/runner/work/jetstream/jetstream/node_modules/playwright/lib/program.js:260:11)
    at async i.<anonymous> (/home/runner/work/jetstream/jetstream/node_modules/playwright/lib/program.js:133:7)
Error: Process completed with exit code 1.

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 11, 2026

@copilot - fix the ci job, the mer process does not work

...

Fixed in ef7d3f7. The issue was that Playwright resolves the blob reporter's outputDir relative to the config file directory (apps/jetstream-e2e/), so the blob report was written to apps/jetstream-e2e/blob-report — but the upload step was looking for blob-report at the repo root. Updated the upload path to apps/jetstream-e2e/blob-report and added a mkdir -p safeguard in the merge step.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants