daun / playwright-report-summary

A GitHub action to report Playwright test results as pull request comments
MIT License
40 stars 8 forks source link
comments github-actions job-summary playwright pull-requests test-results

report   Playwright Report Summary

GitHub Super-Linter CI

A GitHub action to report Playwright test results as a pull request comment.

Examples

Usage

Basic usage

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

With all options

- 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 --'

Output

The action creates two output variables:

summary

The rendered markdown summary of the test report.

comment-id

The ID of the comment that was created or updated

License

MIT