What you’ll learn
- How to stream Playwright test results from GitHub Actions to TestDino
- How to group sharded matrix jobs into a single run
Prerequisites
Before setting up, ensure you have:- A TestDino account with a project created
- A TestDino API key (Generate API Keys)
- A Playwright test project (or clone the TestDino Example Repository to get started)
@testdino/playwrightinstalled and configured inplaywright.config.ts|js|mjs:
playwright.config.ts
['html']. TestDino runs alongside them and streams results as the run executes.
Store the API Key
- Go to your GitHub repository
- Open Settings → Secrets and variables → Actions
- Click New repository secret
- Name:
TESTDINO_TOKEN - Value: Your TestDino API key
- Click Add secret
Basic Workflow
Run your tests withTESTDINO_TOKEN set. Results stream to TestDino during the run, so no separate upload step is needed.
.github/workflows/test.yml — Basic workflow
.github/workflows/test.yml — Basic workflow
.github/workflows/test.yml
if: always() step.
Sharded Tests
Run tests in parallel shards. Pass the sameciRunId to every shard so TestDino groups them into one run.
.github/workflows/test.yml — Sharded workflow
.github/workflows/test.yml — Sharded workflow
.github/workflows/test.yml
ciRunId reporter option in playwright.config to the same value if you prefer running npx playwright test directly instead of npx tdpw test.
Pipeline execution
After the workflow runs, GitHub Actions shows each matrix shard job in the workflow run view. Every shard streams its results, and TestDino merges them into one run.
Results in TestDino
The test run appears in your TestDino dashboard with full failure details, flaky detection, and trend data as tests complete.
Tag by Environment
Map branches to environments in project settings so runs route to the correct environment automatically. See Environment Mapping for the pattern rules.Troubleshooting
Results not appearing on the dashboard
Results not appearing on the dashboard
Confirm
@testdino/playwright is in your playwright.config reporter array and TESTDINO_TOKEN is set in the run step. Results stream during the run, so no separate upload step is required.TESTDINO_TOKEN not found
TESTDINO_TOKEN not found
Confirm the secret is set in Settings → Secrets and variables → Actions. Secret names are case-sensitive.
Next Steps
CI Optimization
Reduce CI time with smart reruns
Branch Mapping
Map branches to environments for organized test runs
Integrations
Connect Slack, Jira, Linear, Asana, and more
GitHub App Integration
PR comments, CI checks, and pull request sync