This repository showcases running Playwright tests on GitHub Actions in parallel, while using Currents as the reporting dashboard.
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:
- Create an organization, get your Record Key and Project Id at https://app.currents.dev
- Set GitHub secret variable
CURRENTS_RECORD_KEY
.
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 andpwc
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 inplaywright.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.
- 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
- Playwright Features on Currents: https://currents.dev/playwright
- Integration Documentation: https://currents.dev/readme/integration-with-playwright/currents-playwright
- CI Build ID Guide: https://currents.dev/readme/guides/cypress-ci-build-id
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
Here's how the results are being displayed in Currents dashboard (recorded on November 2023).
gh-actions-demo.mp4
Currents will add inline information to GitHub Pull Request. Example: #17.