Playwright report comment
ActionsTags
(2)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
The action will do the work of creating comments and updating them whenever tests re-run. If you
require custom logic for creating and updating comments, you can disable the default logic and use
any other action in combination with the summary
output of this action.
A few recommended actions are Sticky Pull Request Comment and Create or Update Comment.
- uses: daun/playwright-report-summary@v3
if: always()
id: summary
with:
report-file: results.json
+ create-comment: false
+ - uses: marocchino/sticky-pull-request-comment@v2
+ with:
+ message: ${{ steps.summary.outputs.summary }}
- 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: 'results.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/'
# Whether the action should create the actual comment. Set to false to implement
# your own commenting logic.
# Default: true
create-comment: true
# 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 three output variables:
The rendered markdown summary of the test report.
The ID of the comment that was created or updated
The raw data of the test report, as a JSON-encoded string. This is useful for creating custom summaries or debugging. You can get an idea of the data structure by checking out the ReportSummary interface.
Playwright report comment is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.