feat: add scheduled Playwright tests workflow with shard approach#10792
feat: add scheduled Playwright tests workflow with shard approach#10792paveltiunov wants to merge 3 commits intomasterfrom
Conversation
Co-authored-by: Pavel Tiunov <pavel.tiunov@gmail.com>
|
Claude finished @paveltiunov's task in 1m 34s —— View job Reviewing PR #10792
Review:
|
|
Claude finished @paveltiunov's task in 1m 23s —— View job Reviewing PR #10792
Review:
|
| Item | Details |
|---|---|
✅ fail-fast: false |
Correct for sharded test runs — all shards should complete for a comprehensive merged report |
✅ Retry on yarn install |
Matches the nick-fields/retry@v3 pattern used in other workflows |
✅ retention-days: 1 vs 14 |
Good balance: ephemeral blobs vs. longer-lived merged report |
✅ timeout-minutes: 60 |
Reasonable for a daily scheduled run |
working-directory |
If Playwright tests end up in a subdirectory (e.g., packages/cubejs-testing/), the test step will need a working-directory |
yarn build && yarn tsc |
This builds the entire monorepo. If Playwright tests only need a subset, consider scoping the build to reduce CI time |
Summary
Three functional bugs need fixing before this workflow will operate correctly:
- Missing
--reporter=blob— reports won't be generated for merging - Slack condition — won't notify on actual test failures
- Dead
shard_countinput — misleading but harmless
The missing Playwright config is also a blocker unless it's coming in a separate PR. The CodeQL permissions finding is worth addressing but not blocking.
Co-authored-by: Pavel Tiunov <pavel.tiunov@gmail.com>
Co-authored-by: Pavel Tiunov <pavel.tiunov@gmail.com>
Check List
Description of Changes Made
Adds a new GitHub Actions workflow (
.github/workflows/scheduled-playwright.yml) that runs Playwright tests on a daily schedule using the shard approach for parallelism.Key features:
workflow_dispatch--shardflag onubuntu-24.04-8corerunnersmax-parallel: 4so at most 4 shards run simultaneouslymerge-reportsjob downloads all shard blob reports and merges them into a single HTML report artifact