Skip to content

currents-dev/playwright-gh-actions-demo

🎭 Currents - Playwright - GitHub Actions

This repository showcases running Playwright tests on GitHub Actions in parallel, while using Currents as the reporting dashboard.

Documentation

The repo contains a few Playwright tests with one test that always fails (intentionally). The example configuration files use Matrix Execution Strategy to run 3 containers for parallelization.

To reproduce the setup:

Examples

Examples of various variants of integrating Currents with Playwright on GitHub Actions:

  • test-basic-pwc.yml - parallel run using 3 shards and pwc command. Basic example of running playwright tests in parallel using 3 containers of GitHub Actions Matrix and pwc command.

  • test-basic-reporter.yml - parallel run using 3 shards and playwright.config.ts. Basic example of running playwright tests in parallel using 3 containers of GitHub Actions Matrix configuring Currents Reporter in playwright.config.ts.

  • test-basic-reporter-with-summary.yml - parallel run using 2 shards and playwright.config.ts prints summary at the end of a run for each shard.

  • test-or8n.yml - parallel Playwright Tests using Currents Orchestration for Playwright - and GitHub Actions Matrix. Currents Orchestration speeds up CI runs by up to 40% (compared to native sharding) by optimally balancing tests between the available machines.

  • argos-example.yml - parallel run using Argos CI and Currents orchestration.

Reruns only the failed tests

  • rerun-shards-pwc.yml - rerun only the tests that failed in the previous run, using pwc helper command that is included in @currents/playwright package.
  • rerun-shards-reporter.yml - rerun only the tests that failed in the previous run, using reporter explicitly configured in playwright.config.ts
  • reruns-or8n.yml - rerun only the tests that failed in the previous orchestrated run

Additional resources

Results

The results are being reported to Currents for more efficient troubleshooting, and monitoring test suite flakiness and performance.

Currents will collect the following information:

  • console output
  • screenshots
  • videos
  • trace files
  • timing
  • outcomes
  • flaky tests
  • error details
  • tags for more convenient management of the tests

Currents Dashboard Results

Here's how the results are being displayed in Currents dashboard (recorded on November 2023).

gh-actions-demo.mp4

PR Comment and Git Commit Status

Currents will add inline information to GitHub Pull Request. Example: #17.

  • a comment containing run results summary gh-actions-comment

  • git commit status check for each detected project gh-actions-status