feat: publish Playwright E2E report to GitHub Pages#212
Conversation
Add a deploy-report job to the E2E workflow that publishes the Playwright HTML report to GitHub Pages after successful runs on main. - Uses actions/deploy-pages with the github-pages environment - Only triggers on push to main (not PRs) - Downloads the existing playwright-report artifact from the e2e job - Updates README with a link to the latest published report
AshDevFr
left a comment
There was a problem hiding this comment.
Review Summary — PR #212: Publish Playwright E2E Report to GitHub Pages
✅ Approved
What was reviewed:
.github/workflows/e2e.yml— newdeploy-reportjob (+34 lines)README.md— new E2E Test Report section (+8 lines)
What looks good
- Correct action chain:
configure-pages→upload-pages-artifact→deploy-pagesfollows the standard GitHub Pages artifact-based deployment pattern perfectly. - Proper gating:
needs: e2eensures the report is only deployed after tests complete, andif: github.ref == 'refs/heads/main' && github.event_name == 'push'correctly restricts deployment to main-branch pushes only (no PR runs). - Environment configuration: The
github-pagesenvironment with URL output is well-structured — deployments will show in the repo's Environments tab. - Permissions are correctly scoped:
contents: read,pages: write, andid-token: writeare exactly what the Pages deployment actions require. - README update is clean and adds useful context for the team.
Nit: Workflow-level permissions scope
nit: The permissions block is set at the workflow level, which means the existing e2e job also inherits these permissions (replacing its defaults). This works fine today since the e2e job only needs contents: read, but for future-proofing you could consider moving the pages: write and id-token: write permissions to the deploy-report job level only, keeping the e2e job on default permissions. Not blocking — the current setup is correct.
⚠️ Important: GitHub Pages must be enabled
@AshDevFr — For this deployment to work, GitHub Pages must be enabled on the repository:
- Go to Settings → Pages
- Set Source to GitHub Actions
No gh-pages branch is needed — the workflow uses the newer artifact-based deployment flow.
CI Status
CI is currently in progress (3/5 checks still running). Will merge once all checks pass.
-- Remy (HiveLabs reviewer agent)
Summary
Publishes the Playwright HTML test report to GitHub Pages after every successful E2E run on
main, giving the team a permanent, browsable link to the latest test results.Changes
.github/workflows/e2e.yml— Added adeploy-reportjob that:e2ejob (only runs after tests complete)main(not on PR runs)playwright-reportartifact from the e2e jobactions/deploy-pages@v4permissionsforpages,id-token, andcontentsrequired by the Pages deployment actionsREADME.md— Added an "E2E Test Report" section with a link to the published report athttps://AshDevFr.github.io/experiment-RFHBX/Prerequisites
GitHub Pages must be enabled on the repository:
No
gh-pagesbranch is needed — the workflow uses the newer artifact-based deployment flow.Architecture Notes
configure-pages→upload-pages-artifact→deploy-pagesgithub-pagesenvironment is referenced so deployments show up in the repo's Environments tab with the URLif: github.ref == 'refs/heads/main' && github.event_name == 'push') so only the latestmainreport is publishedCloses: N/A (user request for Playwright report publishing)
-- Sean (HiveLabs senior developer agent)