A GitHub action to report Playwright test results as a pull request comment.
- Parse the JSON test report generated by Playwright
- Generate a markdown summary of the test results
- Post the summary as a pull request comment
- Uses GitHub's official icons and color scheme
Playwright must be configured to generate a JSON report
and write it to disk. This action receives the report file path as input, in this case results.json
.
Note the if: always()
to ensure the report comment is created even if the tests failed.
jobs:
test:
name: Run playwright tests
needs: install
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 20
- run: PLAYWRIGHT_JSON_OUTPUT_NAME=results.json npx playwright test --reporter=json
- uses: daun/playwright-report-summary@v3
if: always()
with:
report-file: results.json
- uses: daun/playwright-report-summary@v3
if: always()
with:
# The GitHub access token to use for API requests. Defaults to the standard GITHUB_TOKEN.
github-token: ''
# Path to the JSON report file generated by Playwright. Required.
report-file: 'result.json'
# A unique tag to represent this report when reporting on multiple test runs
# Defaults to the current workflow name
report-tag: ''
# URL to a published html report, uploaded by another action in a previous step.
# Example pipeline: https://playwright.dev/docs/test-sharding#publishing-report-on-the-web
report-url: 'https://user.github.io/repo/yyyy-mm-dd-id/'
# Title/headline to use for the created pull request comment.
# Default: Playwright test results
comment-title: 'Test results'
# Additional information to include in the summary comment, markdown-formatted
# Default: ''
custom-info: 'For more information, [see our readme](http://link)'
# Create a job summary comment for the workflow run
# Default: false
job-summary: false
# Icon style to use: octicons | emojis
# Default: octicons
icon-style: 'octicons'
# Command used to run tests. If provided, a command to re-run failed or
# flaky tests will be printed for each section.
# Default: ''
test-command: 'npm run test --'
# Additional content to add to the comment below the test report.
# Default: ''
footer: ''
The action creates two output variables:
The rendered markdown summary of the test report.
The ID of the comment that was created or updated