@midleman/playwright-reporter 0.47.4 → 0.47.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -432
- package/dist/cli/run-shard.d.ts +11 -0
- package/dist/cli/run-shard.d.ts.map +1 -1
- package/dist/cli/run-shard.js +46 -10
- package/dist/cli/run-shard.js.map +1 -1
- package/dist/utils.d.ts +36 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +68 -32
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,49 +1,14 @@
|
|
|
1
1
|
# @midleman/playwright-reporter
|
|
2
2
|
|
|
3
|
-
A Playwright reporter that sends test results to the E2E Test Insights API for
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
This reporter collects Playwright test results and sends them to the E2E Test Insights API, which stores them as Parquet files (on S3 in production, or local filesystem for development). The data can then be analyzed with DuckDB.
|
|
8
|
-
|
|
9
|
-
**Data Flow:**
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
Playwright Reporter → POST to API → S3 (Parquet files)
|
|
13
|
-
↓
|
|
14
|
-
Scheduler → S3 caches
|
|
15
|
-
↓
|
|
16
|
-
Dashboard → displays data
|
|
17
|
-
```
|
|
3
|
+
A Playwright reporter that sends test results to the E2E Test Insights API, plus a CLI for predictive test sharding.
|
|
18
4
|
|
|
19
5
|
## Installation
|
|
20
6
|
|
|
21
|
-
### Production (Published Package)
|
|
22
|
-
|
|
23
7
|
```bash
|
|
24
8
|
npm install @midleman/playwright-reporter
|
|
25
9
|
```
|
|
26
10
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
For iterating on the reporter locally, use npm link:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# In e2e-test-insights repo - build and link
|
|
33
|
-
cd packages/playwright-reporter
|
|
34
|
-
npm install
|
|
35
|
-
npm run build
|
|
36
|
-
npm link
|
|
37
|
-
|
|
38
|
-
# In your test project (e.g., positron) - use the link
|
|
39
|
-
npm link @midleman/playwright-reporter
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
> **Note:** After making changes to the reporter, run `npm run build` to update the linked package.
|
|
43
|
-
|
|
44
|
-
## Configuration
|
|
45
|
-
|
|
46
|
-
### Via Playwright Config
|
|
11
|
+
## Quick Start
|
|
47
12
|
|
|
48
13
|
```typescript
|
|
49
14
|
// playwright.config.ts
|
|
@@ -52,340 +17,138 @@ import { defineConfig } from '@playwright/test';
|
|
|
52
17
|
export default defineConfig({
|
|
53
18
|
reporter: [
|
|
54
19
|
['html'],
|
|
55
|
-
[
|
|
56
|
-
'@midleman/playwright-reporter',
|
|
57
|
-
{
|
|
58
|
-
mode: 'dev', // 'dev', 'prod', or 'disabled'
|
|
59
|
-
verbose: true, // Enable debug logging
|
|
60
|
-
},
|
|
61
|
-
],
|
|
20
|
+
['@midleman/playwright-reporter', { mode: 'prod' }],
|
|
62
21
|
],
|
|
63
22
|
});
|
|
64
23
|
```
|
|
65
24
|
|
|
66
|
-
|
|
25
|
+
Set the `CONNECT_API_KEY` environment variable (required for `mode: 'prod'`).
|
|
67
26
|
|
|
68
|
-
|
|
27
|
+
## Reporter Configuration
|
|
69
28
|
|
|
70
|
-
|
|
29
|
+
### Mode
|
|
71
30
|
|
|
72
|
-
| Mode | API Endpoint | Use Case |
|
|
73
|
-
| ---------- | ------------------------------------------------ | ----------------- |
|
|
74
|
-
| `dev` | `http://localhost:8000` | Local development |
|
|
75
|
-
| `prod` | `https://connect.posit.it/e2e-test-insights-api` | CI/Production |
|
|
76
|
-
| `disabled` | None | Skip reporting |
|
|
31
|
+
| Mode | API Endpoint | Use Case |
|
|
32
|
+
| ---------- | ------------------------------------------------ | ----------------- |
|
|
33
|
+
| `dev` | `http://localhost:8000` | Local development |
|
|
34
|
+
| `prod` | `https://connect.posit.it/e2e-test-insights-api` | CI/Production |
|
|
35
|
+
| `disabled` | None | Skip reporting |
|
|
77
36
|
|
|
78
|
-
**
|
|
37
|
+
> **Note:** `mode: 'prod'` only works in CI (`GITHUB_ACTIONS=true` or `CI=true`). Running locally with `mode: 'prod'` disables reporting to avoid polluting production data.
|
|
79
38
|
|
|
80
|
-
|
|
81
|
-
- `mode: 'dev'` works anywhere and sends to your local API.
|
|
82
|
-
- The reporter sends data to the Plumber API, which then writes to storage (local or S3). Make sure your API is running with matching storage mode:
|
|
83
|
-
- `mode: 'dev'` → run API with `npm run api` (local) or `npm run api:s3` (S3)
|
|
84
|
-
- `mode: 'prod'` → uses deployed Posit Connect API (CI only)
|
|
85
|
-
|
|
86
|
-
### Environment Variables
|
|
87
|
-
|
|
88
|
-
| Variable | Description | Default |
|
|
89
|
-
| ---------------------- | ----------------------------------------- | -------------------------- |
|
|
90
|
-
| `E2E_REPORTER_MODE` | Reporter mode: `dev`, `prod`, `disabled` | (none - required) |
|
|
91
|
-
| `REPORTER_REPO_NAME` | Repository name override | From `GITHUB_REPOSITORY` |
|
|
92
|
-
| `E2E_REPORTER_VERBOSE` | Enable debug logging (`1` or `0`) | `0` |
|
|
93
|
-
| `CONNECT_API_KEY` | Posit Connect API key for authentication | (none - required for prod) |
|
|
94
|
-
| `E2E_CONNECT_APIKEY` | Fallback for `CONNECT_API_KEY` | (none) |
|
|
95
|
-
| `REPORT_URL` | Base URL for Playwright HTML report links | (none - optional) |
|
|
96
|
-
|
|
97
|
-
#### Report URL
|
|
98
|
-
|
|
99
|
-
To include links to the Playwright HTML report in test results, set `REPORT_URL` before running tests. The reporter appends `#?testId={testId}` to deep-link to specific tests.
|
|
100
|
-
|
|
101
|
-
If `REPORT_URL` is not set, `reportUrl` will be `undefined` in test results (no links generated).
|
|
102
|
-
|
|
103
|
-
## Output Structure (S3)
|
|
104
|
-
|
|
105
|
-
The API writes test results to S3 in the following structure:
|
|
106
|
-
|
|
107
|
-
```text
|
|
108
|
-
s3://{bucket}/test-results/
|
|
109
|
-
└── {repoName}/
|
|
110
|
-
└── {date}/ # YYYY-MM-DD partition
|
|
111
|
-
└── {runId}/
|
|
112
|
-
└── data.parquet # All test results + embedded run metadata
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Consolidated format:**
|
|
116
|
-
|
|
117
|
-
Each run produces a single `data.parquet` file containing both test results AND run metadata. The file is overwritten periodically during test execution for near-real-time visibility.
|
|
118
|
-
|
|
119
|
-
- **Live updates:** File is updated every few seconds during the run
|
|
120
|
-
- **Sharded runs:** Each shard writes to its own `{runId}/` directory
|
|
121
|
-
- **Single source of truth:** No separate files for results vs run metadata
|
|
122
|
-
|
|
123
|
-
**Note:** The reporter does not write directly to S3. It sends events to the API, which handles storage.
|
|
124
|
-
|
|
125
|
-
## Parquet Schema
|
|
126
|
-
|
|
127
|
-
### data.parquet
|
|
128
|
-
|
|
129
|
-
Each row represents a test result with embedded run metadata:
|
|
130
|
-
|
|
131
|
-
**Test Result Fields:**
|
|
132
|
-
|
|
133
|
-
| Column | Type | Description |
|
|
134
|
-
| ---------------- | ------ | ----------------------------------------- |
|
|
135
|
-
| `repoName` | UTF8 | Repository name |
|
|
136
|
-
| `runId` | UTF8 | Unique run identifier |
|
|
137
|
-
| `specPath` | UTF8 | Relative path to spec file |
|
|
138
|
-
| `project` | UTF8? | Playwright project name |
|
|
139
|
-
| `testName` | UTF8 | Test title |
|
|
140
|
-
| `testId` | UTF8? | Test identifier |
|
|
141
|
-
| `status` | UTF8 | `passed`, `failed`, `skipped`, or `flaky` |
|
|
142
|
-
| `durationMs` | INT64? | Test duration in milliseconds |
|
|
143
|
-
| `startedAt` | UTF8? | ISO timestamp when test started |
|
|
144
|
-
| `attempt` | INT32? | Retry attempt number (1-indexed) |
|
|
145
|
-
| `retries` | INT32? | Total retries configured |
|
|
146
|
-
| `failureMessage` | UTF8? | Error message if failed |
|
|
147
|
-
| `eventId` | UTF8 | Idempotent event ID for deduplication |
|
|
148
|
-
| `timestamp` | UTF8 | ISO timestamp when event was created |
|
|
149
|
-
| `browser` | UTF8? | Browser name (chromium, firefox, etc.) |
|
|
150
|
-
| `os` | UTF8? | Operating system (mac, win, linux) |
|
|
151
|
-
| `branch` | UTF8? | Git branch name |
|
|
152
|
-
| `sha` | UTF8? | Git commit SHA |
|
|
153
|
-
|
|
154
|
-
**Run Metadata Fields (embedded in each row):**
|
|
155
|
-
|
|
156
|
-
| Column | Type | Description |
|
|
157
|
-
| --------------- | ------ | ---------------------------------------- |
|
|
158
|
-
| `runStartedAt` | UTF8 | ISO timestamp when run started |
|
|
159
|
-
| `runCompletedAt`| UTF8? | ISO timestamp when run completed |
|
|
160
|
-
| `runStatus` | UTF8? | Final run status (`passed`, `failed`) |
|
|
161
|
-
| `runDurationMs` | INT64? | Total run duration in milliseconds |
|
|
162
|
-
| `workflowName` | UTF8? | GitHub workflow name |
|
|
163
|
-
| `jobName` | UTF8? | GitHub job name |
|
|
164
|
-
| `runUrl` | UTF8? | GitHub Actions run URL |
|
|
165
|
-
| `runNumber` | INT32? | GitHub run attempt number |
|
|
166
|
-
| `githubRunId` | UTF8? | Raw GitHub run ID |
|
|
167
|
-
| `countsPassed` | INT32? | Passed test count (at completion) |
|
|
168
|
-
| `countsFailed` | INT32? | Failed test count (at completion) |
|
|
169
|
-
| `countsSkipped` | INT32? | Skipped test count (at completion) |
|
|
170
|
-
| `countsFlaky` | INT32? | Flaky test count (at completion) |
|
|
171
|
-
|
|
172
|
-
**Note:** A placeholder row with `specPath='__run_started__'` is written at run start so the run appears immediately in the dashboard.
|
|
173
|
-
|
|
174
|
-
## Querying with DuckDB
|
|
175
|
-
|
|
176
|
-
```sql
|
|
177
|
-
-- Query all results from a date range (excluding placeholder rows)
|
|
178
|
-
SELECT * FROM read_parquet('s3://bucket/test-results/positron/2024-01-*/*/data.parquet')
|
|
179
|
-
WHERE specPath != '__run_started__';
|
|
180
|
-
|
|
181
|
-
-- Get failure summary by spec
|
|
182
|
-
SELECT
|
|
183
|
-
specPath,
|
|
184
|
-
COUNT(*) as total,
|
|
185
|
-
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failures
|
|
186
|
-
FROM read_parquet('s3://bucket/test-results/positron/**/data.parquet')
|
|
187
|
-
WHERE specPath != '__run_started__'
|
|
188
|
-
GROUP BY specPath
|
|
189
|
-
ORDER BY failures DESC;
|
|
190
|
-
|
|
191
|
-
-- Get run summaries (one row per run with embedded metadata)
|
|
192
|
-
SELECT DISTINCT
|
|
193
|
-
runId,
|
|
194
|
-
runStartedAt,
|
|
195
|
-
runCompletedAt,
|
|
196
|
-
runStatus,
|
|
197
|
-
runDurationMs,
|
|
198
|
-
countsPassed,
|
|
199
|
-
countsFailed,
|
|
200
|
-
countsSkipped,
|
|
201
|
-
countsFlaky
|
|
202
|
-
FROM read_parquet('s3://bucket/test-results/positron/**/data.parquet');
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
## Usage in Other Repositories
|
|
206
|
-
|
|
207
|
-
### Production Setup (CI)
|
|
208
|
-
|
|
209
|
-
For CI/production, install the published package:
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
npm install @midleman/playwright-reporter
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Configure Playwright with `mode: 'prod'`:
|
|
39
|
+
### Options
|
|
216
40
|
|
|
217
41
|
```typescript
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
'@midleman/playwright-reporter',
|
|
224
|
-
{
|
|
225
|
-
repoName: 'positron',
|
|
226
|
-
mode: 'prod', // Sends to connect.posit.it API (CI only)
|
|
227
|
-
},
|
|
228
|
-
],
|
|
229
|
-
],
|
|
230
|
-
});
|
|
42
|
+
['@midleman/playwright-reporter', {
|
|
43
|
+
mode: 'prod', // Required: 'dev', 'prod', or 'disabled'
|
|
44
|
+
repoName: 'my-repo', // Optional: defaults to GITHUB_REPOSITORY
|
|
45
|
+
verbose: true, // Optional: enable debug logging
|
|
46
|
+
}]
|
|
231
47
|
```
|
|
232
48
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
### Local Testing Setup
|
|
236
|
-
|
|
237
|
-
For testing the reporter locally before publishing:
|
|
238
|
-
|
|
239
|
-
**1. Link the package** (see [Installation](#local-development-linked-package))
|
|
240
|
-
|
|
241
|
-
**2. Start the local API** (in e2e-test-insights repo):
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
npm run api # Local storage
|
|
245
|
-
# OR
|
|
246
|
-
npm run api:s3 # S3 storage (requires aws sso login)
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
**3. Configure Playwright with `mode: 'dev'`:**
|
|
250
|
-
|
|
251
|
-
```typescript
|
|
252
|
-
// playwright.config.ts
|
|
253
|
-
export default defineConfig({
|
|
254
|
-
reporter: [
|
|
255
|
-
['html'],
|
|
256
|
-
[
|
|
257
|
-
'@midleman/playwright-reporter',
|
|
258
|
-
{
|
|
259
|
-
repoName: 'positron',
|
|
260
|
-
mode: 'dev', // Sends to localhost:8000
|
|
261
|
-
verbose: true, // See debug output
|
|
262
|
-
},
|
|
263
|
-
],
|
|
264
|
-
],
|
|
265
|
-
});
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**4. Run tests:**
|
|
269
|
-
|
|
270
|
-
```bash
|
|
271
|
-
npx playwright test
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
Results are sent to your local API.
|
|
275
|
-
|
|
276
|
-
## Local Development
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
# 1. Start the API (in e2e-test-insights repo)
|
|
280
|
-
npm run api
|
|
281
|
-
|
|
282
|
-
# 2. Run tests with reporter in dev mode
|
|
283
|
-
npx playwright test
|
|
284
|
-
|
|
285
|
-
# 3. View the dashboard
|
|
286
|
-
npm run app
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
For verbose logging, set `verbose: true` in your playwright config.
|
|
290
|
-
|
|
291
|
-
## Multi-Worker Support
|
|
49
|
+
### Environment Variables
|
|
292
50
|
|
|
293
|
-
|
|
51
|
+
| Variable | Description | Required |
|
|
52
|
+
| -------------------- | ---------------------------------------- | -------- |
|
|
53
|
+
| `CONNECT_API_KEY` | Posit Connect API key | For prod |
|
|
54
|
+
| `REPORTER_REPO_NAME` | Repository name override | No |
|
|
55
|
+
| `REPORT_URL` | Base URL for Playwright HTML report links| No |
|
|
294
56
|
|
|
295
|
-
|
|
296
|
-
- Idempotent `eventId` enables deduplication at query time
|
|
297
|
-
- DuckDB can query across all files with glob patterns
|
|
57
|
+
---
|
|
298
58
|
|
|
299
59
|
## Predictive Sharding CLI
|
|
300
60
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
### Usage
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
npx e2e-insights run-shard \
|
|
307
|
-
--shard-index=1 \
|
|
308
|
-
--shard-total=4 \
|
|
309
|
-
--repo=posit-dev/positron
|
|
310
|
-
```
|
|
61
|
+
Distributes test specs across CI shards using historical duration data for optimal load balancing.
|
|
311
62
|
|
|
312
63
|
### How It Works
|
|
313
64
|
|
|
314
|
-
1. **Spec Discovery** - Runs `npx playwright test --list` to find all spec files
|
|
315
|
-
2. **OS Detection** - Auto-detects OS from `process.platform` (mac, win, linux)
|
|
316
|
-
3. **Duration Lookup** - Fetches historical test durations from the API, filtered by OS
|
|
317
|
-
4. **LPT Algorithm** - Uses Longest Processing Time First bin-packing to distribute specs evenly
|
|
318
|
-
5. **Playwright Execution** - Runs Playwright with only the assigned specs
|
|
319
|
-
|
|
320
|
-
### Shard Coordination & Caching
|
|
321
|
-
|
|
322
|
-
Each workflow run computes its own load balance independently. The cache ensures consistency **within** a single run, not across runs.
|
|
323
|
-
|
|
324
|
-
**Why separate calculations per run?**
|
|
325
|
-
- Different runs may have different specs (different `--grep` filters)
|
|
326
|
-
- Different runs may have different shard counts
|
|
327
|
-
- Test files may change between runs
|
|
328
|
-
|
|
329
|
-
**What IS shared:** Historical duration data from S3. All runs look up the same test duration history.
|
|
330
|
-
|
|
331
|
-
**What is NOT shared:** Shard assignments. Each run gets its own LPT calculation.
|
|
332
|
-
|
|
333
|
-
**Cache Details:**
|
|
334
|
-
- **Key format:** `{repo_id}:{workflow_run_id}:{num_shards}:{specs_hash}`
|
|
335
|
-
- **TTL:** 3 hours (accommodates slow Windows runners)
|
|
336
|
-
- **Storage:** In-memory on the API server
|
|
337
|
-
- **Purpose:** Consistency within a single workflow run
|
|
338
|
-
|
|
339
|
-
**Flow for a single workflow run:**
|
|
340
65
|
```
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
66
|
+
┌────────────────────────────────────────────────────────────────────────────┐
|
|
67
|
+
│ CI WORKFLOW │
|
|
68
|
+
│ │
|
|
69
|
+
│ ┌──────────────────────────────────────────────────────────────────────┐ │
|
|
70
|
+
│ │ npx e2e-insights run-shard --shard-index=2 --shard-total=6 ... │ │
|
|
71
|
+
│ └──────────────────────────────────────────────────────────────────────┘ │
|
|
72
|
+
│ │ │
|
|
73
|
+
│ ▼ │
|
|
74
|
+
│ ┌──────────────────────────────────────────────────────────────────────┐ │
|
|
75
|
+
│ │ 1. playwright test --list --reporter=json │ │
|
|
76
|
+
│ │ → Discovers all spec files in project │ │
|
|
77
|
+
│ │ → ["auth.spec.ts", "editor.spec.ts", "console.spec.ts", ...] │ │
|
|
78
|
+
│ └──────────────────────────────────────────────────────────────────────┘ │
|
|
79
|
+
│ │ │
|
|
80
|
+
│ ▼ │
|
|
81
|
+
│ ┌──────────────────────────────────────────────────────────────────────┐ │
|
|
82
|
+
│ │ 2. POST /shards/compute │ │
|
|
83
|
+
│ │ { │ │
|
|
84
|
+
│ │ "specs": ["auth.spec.ts", "editor.spec.ts", ...], │ │
|
|
85
|
+
│ │ "shard_index": 1, │ │
|
|
86
|
+
│ │ "num_shards": 6, │ │
|
|
87
|
+
│ │ "repo": "posit-dev/positron" │ │
|
|
88
|
+
│ │ } │ │
|
|
89
|
+
│ └──────────────────────────────────────────────────────────────────────┘ │
|
|
90
|
+
│ │ │
|
|
91
|
+
│ ▼ │
|
|
92
|
+
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
|
93
|
+
│ │ E2E INSIGHTS API │ │
|
|
94
|
+
│ │ │ │
|
|
95
|
+
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │ │
|
|
96
|
+
│ │ │ Load test data │ → │ Filter & group │ → │ LPT algorithm │ │ │
|
|
97
|
+
│ │ │ (14-day window) │ │ by spec/os/etc │ │ bin-packing │ │ │
|
|
98
|
+
│ │ └─────────────────┘ └─────────────────┘ └───────────────┘ │ │
|
|
99
|
+
│ │ │ │ │
|
|
100
|
+
│ │ Response: ▼ │ │
|
|
101
|
+
│ │ { │ │
|
|
102
|
+
│ │ "specs": ["editor.spec.ts", "console.spec.ts"], ← shard 2 │ │
|
|
103
|
+
│ │ "estimated_duration_ms": 180000 │ │
|
|
104
|
+
│ │ } │ │
|
|
105
|
+
│ └─────────────────────────────────────────────────────────────────────┘ │
|
|
106
|
+
│ │ │
|
|
107
|
+
│ ▼ │
|
|
108
|
+
│ ┌──────────────────────────────────────────────────────────────────────┐ │
|
|
109
|
+
│ │ 3. playwright test editor.spec.ts console.spec.ts │ │
|
|
110
|
+
│ │ → Runs ONLY the specs assigned to this shard │ │
|
|
111
|
+
│ │ → Reporter sends results back to API │ │
|
|
112
|
+
│ └──────────────────────────────────────────────────────────────────────┘ │
|
|
113
|
+
│ │
|
|
114
|
+
└────────────────────────────────────────────────────────────────────────────┘
|
|
360
115
|
```
|
|
361
116
|
|
|
362
117
|
### GitHub Actions Example
|
|
363
118
|
|
|
364
119
|
```yaml
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
120
|
+
jobs:
|
|
121
|
+
e2e-tests:
|
|
122
|
+
strategy:
|
|
123
|
+
matrix:
|
|
124
|
+
shard: [1, 2, 3, 4]
|
|
125
|
+
runs-on: ubuntu-latest
|
|
126
|
+
steps:
|
|
127
|
+
- uses: actions/checkout@v4
|
|
128
|
+
- uses: actions/setup-node@v4
|
|
129
|
+
- run: npm ci
|
|
130
|
+
- name: Run E2E Tests
|
|
131
|
+
env:
|
|
132
|
+
CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
|
|
133
|
+
run: |
|
|
134
|
+
npx e2e-insights run-shard \
|
|
135
|
+
--shard-index=${{ matrix.shard }} \
|
|
136
|
+
--shard-total=4 \
|
|
137
|
+
--repo=${{ github.repository }} \
|
|
138
|
+
--project=e2e-electron
|
|
376
139
|
```
|
|
377
140
|
|
|
378
141
|
### CLI Options
|
|
379
142
|
|
|
380
|
-
| Option
|
|
381
|
-
|
|
382
|
-
| `--shard-index
|
|
383
|
-
| `--shard-total
|
|
384
|
-
| `--repo
|
|
385
|
-
| `--browser
|
|
386
|
-
| `--fallback
|
|
143
|
+
| Option | Required | Description |
|
|
144
|
+
| --------------- | -------- | -------------------------------------------------------- |
|
|
145
|
+
| `--shard-index` | Yes | Shard index (1-based) |
|
|
146
|
+
| `--shard-total` | Yes | Total number of shards |
|
|
147
|
+
| `--repo` | Yes | Repository identifier (e.g., `posit-dev/positron`) |
|
|
148
|
+
| `--browser` | No | Override browser (auto-inferred from `--project`) |
|
|
149
|
+
| `--fallback` | No | `native` (default) or `fail` if API unavailable |
|
|
387
150
|
|
|
388
|
-
|
|
151
|
+
Additional arguments are passed through to Playwright:
|
|
389
152
|
|
|
390
153
|
```bash
|
|
391
154
|
npx e2e-insights run-shard \
|
|
@@ -393,122 +156,55 @@ npx e2e-insights run-shard \
|
|
|
393
156
|
--workers=4 --retries=2 --project=e2e-electron
|
|
394
157
|
```
|
|
395
158
|
|
|
396
|
-
|
|
159
|
+
### Auto-Detection
|
|
397
160
|
|
|
398
|
-
|
|
161
|
+
**OS:** Detected from runner platform (`mac`, `win`, `ubuntu`, `linux`).
|
|
399
162
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
{
|
|
404
|
-
mode: 'prod', // Sends to connect.posit.it/e2e-test-insights-api (CI only)
|
|
405
|
-
},
|
|
406
|
-
],
|
|
407
|
-
```
|
|
163
|
+
**Browser:**
|
|
164
|
+
- **CLI:** Parses the `--project` flag for keywords (e.g., `e2e-electron` → `electron`). Cannot auto-detect since Playwright hasn't started yet. If no match, `GITHUB_JOB` is used for shard naming.
|
|
165
|
+
- **Reporter:** Auto-detects at runtime from Playwright's `project.use.browserName` config, or infers from project name, or defaults to `electron`.
|
|
408
166
|
|
|
409
|
-
|
|
167
|
+
### Shard Naming & Unique Run IDs
|
|
410
168
|
|
|
411
|
-
|
|
169
|
+
When running sharded tests, each shard needs a unique identifier so results don't overwrite each other in S3. The CLI handles this automatically by setting a `SHARD_NAME` environment variable before running Playwright.
|
|
412
170
|
|
|
413
|
-
|
|
171
|
+
**Format:** `{browser}-{os}-{shardIndex}`
|
|
414
172
|
|
|
415
|
-
|
|
416
|
-
env:
|
|
417
|
-
CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
|
|
173
|
+
**Example:** A 4-shard matrix on Ubuntu with `--project=e2e-electron` produces:
|
|
418
174
|
```
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
- Commit SHA from `GITHUB_SHA`
|
|
424
|
-
- Workflow name from `GITHUB_WORKFLOW`
|
|
425
|
-
- Job name from `GITHUB_JOB`
|
|
426
|
-
- Run URL constructed from GitHub environment variables
|
|
427
|
-
|
|
428
|
-
## Development
|
|
429
|
-
|
|
430
|
-
```bash
|
|
431
|
-
# Install dependencies
|
|
432
|
-
npm install
|
|
433
|
-
|
|
434
|
-
# Build
|
|
435
|
-
npm run build
|
|
436
|
-
|
|
437
|
-
# Watch mode
|
|
438
|
-
npm run watch
|
|
439
|
-
|
|
440
|
-
# Clean
|
|
441
|
-
npm run clean
|
|
175
|
+
shard 1 → SHARD_NAME=electron-ubuntu-1 → runId: 12345-1-electron-ubuntu-1
|
|
176
|
+
shard 2 → SHARD_NAME=electron-ubuntu-2 → runId: 12345-1-electron-ubuntu-2
|
|
177
|
+
shard 3 → SHARD_NAME=electron-ubuntu-3 → runId: 12345-1-electron-ubuntu-3
|
|
178
|
+
shard 4 → SHARD_NAME=electron-ubuntu-4 → runId: 12345-1-electron-ubuntu-4
|
|
442
179
|
```
|
|
443
180
|
|
|
444
|
-
|
|
181
|
+
Each shard writes to its own S3 path, preventing collisions.
|
|
445
182
|
|
|
446
|
-
|
|
183
|
+
### Fallback Behavior
|
|
447
184
|
|
|
448
|
-
|
|
449
|
-
- **payload.test.ts** - Event payload builders (result.created, run.started, run.completed)
|
|
450
|
-
- **schemas.test.ts** - Zod schema validation
|
|
451
|
-
- **api.test.ts** - API writer with retry logic
|
|
452
|
-
- **utils.test.ts** - Utility functions (ID generation, path handling, browser inference)
|
|
185
|
+
If the API is unavailable or has no historical data, the CLI falls back to Playwright's native sharding:
|
|
453
186
|
|
|
454
187
|
```bash
|
|
455
|
-
|
|
456
|
-
npm test
|
|
457
|
-
|
|
458
|
-
# Watch mode (re-runs on file changes)
|
|
459
|
-
npm run test:watch
|
|
460
|
-
|
|
461
|
-
# With coverage report
|
|
462
|
-
npm run test:coverage
|
|
188
|
+
npx playwright test --shard=1/4
|
|
463
189
|
```
|
|
464
190
|
|
|
465
|
-
###
|
|
191
|
+
### Comparison with Playwright Native
|
|
466
192
|
|
|
467
|
-
|
|
193
|
+
| Aspect | Playwright Native | E2E Insights |
|
|
194
|
+
| ------------------- | ------------------- | ------------------------ |
|
|
195
|
+
| Algorithm | Round-robin by test | LPT by spec file |
|
|
196
|
+
| Balance | Even test count | Even duration |
|
|
197
|
+
| Adaptation | Static | Uses historical data |
|
|
198
|
+
| Platform awareness | No | Yes (OS/browser filter) |
|
|
468
199
|
|
|
469
|
-
|
|
470
|
-
- Globals: enabled (`describe`, `it`, `expect` available without imports)
|
|
471
|
-
- Coverage: v8 provider, excludes test files and index.ts
|
|
200
|
+
---
|
|
472
201
|
|
|
473
202
|
## Publishing
|
|
474
203
|
|
|
475
|
-
To publish a new version to npm:
|
|
476
|
-
|
|
477
|
-
### Prerequisites
|
|
478
|
-
|
|
479
|
-
- npm account with access to the `@posit-dev` organization
|
|
480
|
-
- Logged in via `npm login`
|
|
481
|
-
|
|
482
|
-
### Publish Steps
|
|
483
|
-
|
|
484
204
|
```bash
|
|
485
|
-
cd packages/playwright-reporter
|
|
486
|
-
|
|
487
|
-
# 1. Ensure tests pass
|
|
488
205
|
npm test
|
|
489
|
-
|
|
490
|
-
# 2. Build the package
|
|
491
206
|
npm run build
|
|
492
|
-
|
|
493
|
-
# 3. Preview what will be published
|
|
494
|
-
npm pack --dry-run
|
|
495
|
-
|
|
496
|
-
# 4. Bump version (choose one)
|
|
497
|
-
npm version patch # 0.1.0 → 0.1.1 (bug fixes)
|
|
498
|
-
npm version minor # 0.1.0 → 0.2.0 (new features)
|
|
499
|
-
npm version major # 0.1.0 → 1.0.0 (breaking changes)
|
|
500
|
-
|
|
501
|
-
# 5. Publish to npm (scoped packages require --access public)
|
|
207
|
+
npm version patch # or minor/major
|
|
502
208
|
npm publish --access public
|
|
503
|
-
|
|
504
|
-
# 6. Push the version commit and tag
|
|
505
209
|
git push && git push --tags
|
|
506
210
|
```
|
|
507
|
-
|
|
508
|
-
### Updating in Consumer Repos
|
|
509
|
-
|
|
510
|
-
After publishing, update the package in repos that use it:
|
|
511
|
-
|
|
512
|
-
```bash
|
|
513
|
-
npm update @midleman/playwright-reporter
|
|
514
|
-
```
|
package/dist/cli/run-shard.d.ts
CHANGED
|
@@ -36,6 +36,14 @@ export declare function normalizeRepoId(repo: string): string;
|
|
|
36
36
|
* - Over 60 min: "1h 56m"
|
|
37
37
|
*/
|
|
38
38
|
export declare function formatDuration(ms: number): string;
|
|
39
|
+
/**
|
|
40
|
+
* Format duration in compact form (no spaces)
|
|
41
|
+
*
|
|
42
|
+
* - Under 60s: "30s"
|
|
43
|
+
* - 1-60 min: "5m30s" or "5m" if no seconds
|
|
44
|
+
* - Over 60 min: "1h56m"
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatDurationCompact(ms: number): string;
|
|
39
47
|
export interface ShardAssignment {
|
|
40
48
|
shard_index: number;
|
|
41
49
|
num_shards: number;
|
|
@@ -46,8 +54,11 @@ export interface ShardAssignment {
|
|
|
46
54
|
data_quality?: {
|
|
47
55
|
specs_with_history: number;
|
|
48
56
|
specs_without_history: number;
|
|
57
|
+
specs_missing_history: string[];
|
|
49
58
|
};
|
|
50
59
|
shard_balance?: {
|
|
60
|
+
all_shard_durations_ms: number[];
|
|
61
|
+
all_shard_spec_counts: number[];
|
|
51
62
|
variance_pct: number;
|
|
52
63
|
};
|
|
53
64
|
fallback_reason?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-shard.d.ts","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"run-shard.d.ts","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/run-shard.js
CHANGED
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.detectOS = detectOS;
|
|
13
13
|
exports.normalizeRepoId = normalizeRepoId;
|
|
14
14
|
exports.formatDuration = formatDuration;
|
|
15
|
+
exports.formatDurationCompact = formatDurationCompact;
|
|
15
16
|
exports.parseRunShardArgs = parseRunShardArgs;
|
|
16
17
|
exports.parsePlaywrightListOutput = parsePlaywrightListOutput;
|
|
17
18
|
exports.discoverSpecs = discoverSpecs;
|
|
@@ -27,6 +28,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
27
28
|
const utils_1 = require("../utils");
|
|
28
29
|
// Hardcoded API URL - only one production environment
|
|
29
30
|
const API_URL = 'https://connect.posit.it/e2e-test-insights-api';
|
|
31
|
+
// Note: buildShardName is imported from ../utils (single source of truth)
|
|
30
32
|
/**
|
|
31
33
|
* Detect OS from platform
|
|
32
34
|
*
|
|
@@ -84,6 +86,26 @@ function formatDuration(ms) {
|
|
|
84
86
|
// Minutes only
|
|
85
87
|
return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
|
|
86
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Format duration in compact form (no spaces)
|
|
91
|
+
*
|
|
92
|
+
* - Under 60s: "30s"
|
|
93
|
+
* - 1-60 min: "5m30s" or "5m" if no seconds
|
|
94
|
+
* - Over 60 min: "1h56m"
|
|
95
|
+
*/
|
|
96
|
+
function formatDurationCompact(ms) {
|
|
97
|
+
const totalSeconds = Math.round(ms / 1000);
|
|
98
|
+
if (totalSeconds < 60) {
|
|
99
|
+
return `${totalSeconds}s`;
|
|
100
|
+
}
|
|
101
|
+
const hours = Math.floor(totalSeconds / 3600);
|
|
102
|
+
const minutes = Math.floor((totalSeconds % 3600) / 60);
|
|
103
|
+
const seconds = totalSeconds % 60;
|
|
104
|
+
if (hours > 0) {
|
|
105
|
+
return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
|
|
106
|
+
}
|
|
107
|
+
return seconds > 0 ? `${minutes}m${seconds}s` : `${minutes}m`;
|
|
108
|
+
}
|
|
87
109
|
// ============================================================================
|
|
88
110
|
// Argument Parsing
|
|
89
111
|
// ============================================================================
|
|
@@ -457,13 +479,29 @@ async function runShard(options) {
|
|
|
457
479
|
const parallelMs = workers > 1 ? Math.round(sequentialMs / workers) : sequentialMs;
|
|
458
480
|
const adjustedMs = Math.round(parallelMs * OVERHEAD_FACTOR);
|
|
459
481
|
estDuration = formatDuration(adjustedMs);
|
|
460
|
-
|
|
461
|
-
console.log(` Assigned ${assignment.specs.length} specs (est. ~${estDuration}${workersNote})`);
|
|
462
|
-
if (assignment.data_quality) {
|
|
463
|
-
console.log(` Data quality: ${assignment.data_quality.specs_with_history}/${specs.length} specs have history`);
|
|
464
|
-
}
|
|
482
|
+
// Show shard balance first (overall view)
|
|
465
483
|
if (assignment.shard_balance) {
|
|
466
|
-
|
|
484
|
+
const { all_shard_durations_ms, all_shard_spec_counts, variance_pct } = assignment.shard_balance;
|
|
485
|
+
console.log(` Shard balance: ${variance_pct}%`);
|
|
486
|
+
all_shard_durations_ms.forEach((ms, i) => {
|
|
487
|
+
const duration = formatDurationCompact(ms);
|
|
488
|
+
const specCount = all_shard_spec_counts?.[i] ?? '?';
|
|
489
|
+
console.log(` ${i + 1} → ${duration} (${specCount} specs)`);
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
// Only show data quality for first shard (same for all shards)
|
|
493
|
+
if (assignment.data_quality && assignment.shard_index === 0) {
|
|
494
|
+
const { specs_with_history, specs_without_history, specs_missing_history } = assignment.data_quality;
|
|
495
|
+
console.log(`📊 Data quality: ${specs_with_history}/${specs.length} specs have history`);
|
|
496
|
+
if (specs_missing_history && specs_missing_history.length > 0) {
|
|
497
|
+
console.log(` Missing history:`);
|
|
498
|
+
for (const spec of specs_missing_history) {
|
|
499
|
+
console.log(` - ${spec}`);
|
|
500
|
+
}
|
|
501
|
+
if (specs_without_history > specs_missing_history.length) {
|
|
502
|
+
console.log(` ... and ${specs_without_history - specs_missing_history.length} more`);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
467
505
|
}
|
|
468
506
|
}
|
|
469
507
|
catch (error) {
|
|
@@ -484,10 +522,8 @@ async function runShard(options) {
|
|
|
484
522
|
console.log(`🎭 Running Playwright with ${assignment.specs.length} specs...`);
|
|
485
523
|
const args = buildPlaywrightArgs(assignment.specs, extraArgs);
|
|
486
524
|
// Build shard name for reporter to use in runId (makes each shard unique)
|
|
487
|
-
//
|
|
488
|
-
const shardName = options.os
|
|
489
|
-
? `${options.os}-${options.shardIndex}`
|
|
490
|
-
: `shard-${options.shardIndex}`;
|
|
525
|
+
// Include browser to differentiate electron vs chromium on same OS
|
|
526
|
+
const shardName = (0, utils_1.buildShardName)(options.os, options.shardIndex, browser);
|
|
491
527
|
// Track actual run time
|
|
492
528
|
const startTime = Date.now();
|
|
493
529
|
const exitCode = await runPlaywright(args, shardName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-shard.js","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-shard.js","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -64,22 +64,47 @@ export interface PlaywrightSuite {
|
|
|
64
64
|
}>;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Extract the running project name from the suite
|
|
68
|
+
* The suite's first child is typically the project suite with the project name as title
|
|
69
|
+
*/
|
|
70
|
+
export declare function getRunningProjectName(suite?: PlaywrightSuite): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Build shard name for unique identification (SINGLE SOURCE OF TRUTH)
|
|
68
73
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* 3. GITHUB_JOB only
|
|
73
|
-
* 4. Playwright shard only
|
|
74
|
+
* This function is the canonical way to build shard names. It's used by:
|
|
75
|
+
* - CLI (run-shard): Sets SHARD_NAME env var before running Playwright
|
|
76
|
+
* - Reporter: Falls back to this when SHARD_NAME is not set
|
|
74
77
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
78
|
+
* Format: ${browser}-${os}-${shardIndex} (e.g., "electron-linux-1")
|
|
79
|
+
*
|
|
80
|
+
* Priority for identifier: browser > GITHUB_JOB > nothing
|
|
81
|
+
* This ensures uniqueness across:
|
|
82
|
+
* - Multiple projects (electron vs chromium)
|
|
83
|
+
* - Multiple OS (linux vs windows)
|
|
84
|
+
* - Multiple shards (1, 2, 3, 4)
|
|
85
|
+
*
|
|
86
|
+
* @param os Operating system (e.g., "linux", "win", "mac", "ubuntu")
|
|
87
|
+
* @param shardIndex Shard index (1-based), or undefined if not sharded
|
|
88
|
+
* @param browser Browser/project name (e.g., "electron", "chromium")
|
|
89
|
+
* @returns Shard name (e.g., "electron-linux-1", "chromium-win-2")
|
|
77
90
|
*/
|
|
91
|
+
export declare function buildShardName(os: string | undefined, shardIndex: number | undefined, browser?: string): string;
|
|
78
92
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
93
|
+
* Build auto-detected shard name from Playwright config (convenience wrapper)
|
|
94
|
+
*
|
|
95
|
+
* Extracts browser, OS, and shard index from Playwright config/suite,
|
|
96
|
+
* then delegates to buildShardName() for consistent formatting.
|
|
97
|
+
*
|
|
98
|
+
* Only returns a shard name if there's meaningful differentiation:
|
|
99
|
+
* - Has a browser/project name (differentiates electron vs chromium)
|
|
100
|
+
* - Has a shard index (differentiates shard 1 vs shard 2)
|
|
101
|
+
* - Has GITHUB_JOB (differentiates matrix jobs)
|
|
102
|
+
* - OS alone is not sufficient (doesn't differentiate within same workflow)
|
|
103
|
+
*
|
|
104
|
+
* @param config Playwright config with optional shard and projects info
|
|
105
|
+
* @param suite Playwright suite for extracting running project
|
|
106
|
+
* @returns Auto-detected shard name or undefined
|
|
81
107
|
*/
|
|
82
|
-
export declare function getRunningProjectName(suite?: PlaywrightSuite): string | undefined;
|
|
83
108
|
export declare function buildAutoShardName(config?: PlaywrightFullConfig, suite?: PlaywrightSuite): string | undefined;
|
|
84
109
|
/**
|
|
85
110
|
* Get run ID from environment or generate one
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,6BAA6B;AAC7B,eAAO,MAAM,GAAG,GAAI,IAAI,MAAM,GAAG,IAAI,WAAiD,CAAC;AAEvF,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,uBAQpC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,WAC6D,CAAC;AAE9F,4BAA4B;AAC5B,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,WAAkC,CAAC;AAE1F,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAWhE,CAAC;AAEF,qDAAqD;AACrD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,aAAa,KAAG,MAe/D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,GAAG,MAAM,WASzD,CAAC;AAEF,uDAAuD;AACvD,wBAAgB,iBAAiB;;;;;;;;EAuBhC;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD;AAED,kEAAkE;AAClE,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CACnF;AAED
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -40,6 +40,7 @@ exports.toRelativeSpec = exports.getBrowserFromProject = exports.inferBrowserFro
|
|
|
40
40
|
exports.getGithubMetadata = getGithubMetadata;
|
|
41
41
|
exports.getRepoName = getRepoName;
|
|
42
42
|
exports.getRunningProjectName = getRunningProjectName;
|
|
43
|
+
exports.buildShardName = buildShardName;
|
|
43
44
|
exports.buildAutoShardName = buildAutoShardName;
|
|
44
45
|
exports.getRunId = getRunId;
|
|
45
46
|
exports.getDatePartition = getDatePartition;
|
|
@@ -167,18 +168,6 @@ function getRepoName(optionValue) {
|
|
|
167
168
|
}
|
|
168
169
|
return 'local';
|
|
169
170
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Build auto-detected shard name from environment and Playwright config
|
|
172
|
-
*
|
|
173
|
-
* Priority:
|
|
174
|
-
* 1. Playwright config project name + OS + shard (e.g., "electron-ubuntu-1")
|
|
175
|
-
* 2. GITHUB_JOB + shard (e.g., "e2e-ubuntu-run-shard-1-of-2") - fallback
|
|
176
|
-
* 3. GITHUB_JOB only
|
|
177
|
-
* 4. Playwright shard only
|
|
178
|
-
*
|
|
179
|
-
* @param config Playwright config with optional shard and projects info
|
|
180
|
-
* @returns Auto-detected shard name or undefined
|
|
181
|
-
*/
|
|
182
171
|
/**
|
|
183
172
|
* Extract the running project name from the suite
|
|
184
173
|
* The suite's first child is typically the project suite with the project name as title
|
|
@@ -194,31 +183,78 @@ function getRunningProjectName(suite) {
|
|
|
194
183
|
return projectFromTitle;
|
|
195
184
|
return undefined;
|
|
196
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Build shard name for unique identification (SINGLE SOURCE OF TRUTH)
|
|
188
|
+
*
|
|
189
|
+
* This function is the canonical way to build shard names. It's used by:
|
|
190
|
+
* - CLI (run-shard): Sets SHARD_NAME env var before running Playwright
|
|
191
|
+
* - Reporter: Falls back to this when SHARD_NAME is not set
|
|
192
|
+
*
|
|
193
|
+
* Format: ${browser}-${os}-${shardIndex} (e.g., "electron-linux-1")
|
|
194
|
+
*
|
|
195
|
+
* Priority for identifier: browser > GITHUB_JOB > nothing
|
|
196
|
+
* This ensures uniqueness across:
|
|
197
|
+
* - Multiple projects (electron vs chromium)
|
|
198
|
+
* - Multiple OS (linux vs windows)
|
|
199
|
+
* - Multiple shards (1, 2, 3, 4)
|
|
200
|
+
*
|
|
201
|
+
* @param os Operating system (e.g., "linux", "win", "mac", "ubuntu")
|
|
202
|
+
* @param shardIndex Shard index (1-based), or undefined if not sharded
|
|
203
|
+
* @param browser Browser/project name (e.g., "electron", "chromium")
|
|
204
|
+
* @returns Shard name (e.g., "electron-linux-1", "chromium-win-2")
|
|
205
|
+
*/
|
|
206
|
+
function buildShardName(os, shardIndex, browser) {
|
|
207
|
+
const parts = [];
|
|
208
|
+
// Use browser if available, otherwise fall back to GITHUB_JOB for matrix differentiation
|
|
209
|
+
const identifier = browser || process.env.GITHUB_JOB;
|
|
210
|
+
if (identifier)
|
|
211
|
+
parts.push(identifier);
|
|
212
|
+
if (os)
|
|
213
|
+
parts.push(os);
|
|
214
|
+
if (shardIndex !== undefined)
|
|
215
|
+
parts.push(String(shardIndex));
|
|
216
|
+
// If we only have the shard index, prefix with "shard-" for clarity
|
|
217
|
+
if (parts.length === 1 && shardIndex !== undefined) {
|
|
218
|
+
return `shard-${shardIndex}`;
|
|
219
|
+
}
|
|
220
|
+
// If we have nothing, return undefined (will be handled by caller)
|
|
221
|
+
if (parts.length === 0) {
|
|
222
|
+
return '';
|
|
223
|
+
}
|
|
224
|
+
return parts.join('-');
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Build auto-detected shard name from Playwright config (convenience wrapper)
|
|
228
|
+
*
|
|
229
|
+
* Extracts browser, OS, and shard index from Playwright config/suite,
|
|
230
|
+
* then delegates to buildShardName() for consistent formatting.
|
|
231
|
+
*
|
|
232
|
+
* Only returns a shard name if there's meaningful differentiation:
|
|
233
|
+
* - Has a browser/project name (differentiates electron vs chromium)
|
|
234
|
+
* - Has a shard index (differentiates shard 1 vs shard 2)
|
|
235
|
+
* - Has GITHUB_JOB (differentiates matrix jobs)
|
|
236
|
+
* - OS alone is not sufficient (doesn't differentiate within same workflow)
|
|
237
|
+
*
|
|
238
|
+
* @param config Playwright config with optional shard and projects info
|
|
239
|
+
* @param suite Playwright suite for extracting running project
|
|
240
|
+
* @returns Auto-detected shard name or undefined
|
|
241
|
+
*/
|
|
197
242
|
function buildAutoShardName(config, suite) {
|
|
198
243
|
const shardInfo = config?.shard;
|
|
199
244
|
// Get project name from suite (the actually running project) or fall back to config
|
|
200
245
|
const projectName = getRunningProjectName(suite) || config?.projects?.[0]?.name;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
// No sharding - just project + os
|
|
210
|
-
return `${simpleName}-${os}`;
|
|
211
|
-
}
|
|
212
|
-
// Priority 2: Fall back to GITHUB_JOB (same for all matrix entries, less ideal)
|
|
213
|
-
const job = process.env.GITHUB_JOB;
|
|
214
|
-
if (job && shardInfo) {
|
|
215
|
-
return `${job}-shard-${shardInfo.current}-of-${shardInfo.total}`;
|
|
246
|
+
// Simplify project name (e.g., "e2e-electron" -> "electron")
|
|
247
|
+
const browser = projectName?.replace(/^e2e-/, '');
|
|
248
|
+
const shardIndex = shardInfo?.current;
|
|
249
|
+
const hasGithubJob = !!process.env.GITHUB_JOB;
|
|
250
|
+
// Only include shard name if we have meaningful differentiation
|
|
251
|
+
// OS alone doesn't differentiate shards within the same workflow
|
|
252
|
+
if (!browser && shardIndex === undefined && !hasGithubJob) {
|
|
253
|
+
return undefined;
|
|
216
254
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
return `shard-${shardInfo.current}-of-${shardInfo.total}`;
|
|
221
|
-
return undefined;
|
|
255
|
+
const os = inferOs();
|
|
256
|
+
const result = buildShardName(os, shardIndex, browser);
|
|
257
|
+
return result || undefined;
|
|
222
258
|
}
|
|
223
259
|
/**
|
|
224
260
|
* Get run ID from environment or generate one
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|