squally-reporter 0.11.0 → 0.13.0

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 CHANGED
@@ -17,21 +17,30 @@ npm install -D squally-reporter
17
17
 
18
18
  ## Config
19
19
 
20
- Set two env vars (e.g. in CI secrets or `.env`):
20
+ Set one env var (e.g. as a CI secret):
21
21
 
22
22
  ```bash
23
- SQUALLY_INGEST_URL=https://app.squally.dev
24
23
  SQUALLY_INGEST_KEY=your-project-ingest-key
25
24
  ```
26
25
 
27
- Find your ingest key on your project's Settings page in the Squally dashboard.
26
+ Find your ingest key in the Squally dashboard under **Settings › Project ›
27
+ Ingest key**.
28
+
29
+ **Since 0.12.0 the URL defaults to `https://app.squally.dev`.** Set
30
+ `SQUALLY_INGEST_URL` only to report to another Squally. Without a key the
31
+ reporter sends nothing and says so once.
28
32
 
29
33
  **Renamed in 0.9.0.** These were `SQUALLY_API_URL` and `SQUALLY_API_KEY`. The
30
34
  old names still work for now, with a deprecation warning in the CI log - but
31
- they belong to Squally's read API now, so rename them. A read key
32
- (`sqly_ro_...`) in `SQUALLY_API_KEY` is never sent: the reporter says so and
33
- reports nothing. `SQUALLY_API_URL` is only used together with
34
- `SQUALLY_API_KEY`, never on its own.
35
+ they belong to Squally's read API now, so rename them. `SQUALLY_API_URL` is
36
+ only used together with `SQUALLY_API_KEY`, never on its own - and when it is
37
+ set but not used, the reporter sends nothing rather than falling back to the
38
+ default URL, since the variable says you meant another target.
39
+
40
+ **A read key is never sent.** A key starting with `sqly_ro_` is a read API key,
41
+ for scripts and agents; reporting needs the ingest key. Since 0.12.0 the
42
+ reporter refuses one in any of `SQUALLY_INGEST_KEY`, `SQUALLY_API_KEY` or the
43
+ `apiKey` option before sending anything, and says which one to fix.
35
44
 
36
45
  Then add the reporter to `playwright.config.ts`:
37
46
 
@@ -61,8 +70,8 @@ reporter: [
61
70
  ],
62
71
  ```
63
72
 
64
- That's it - run your tests as usual (`npx playwright test`) and results will
65
- be sent to Squally after the run finishes.
73
+ That's it - run your tests as usual (`npx playwright test`); results stream
74
+ to Squally while the suite runs (see *How results reach Squally* below).
66
75
 
67
76
  ## Artifact upload (screenshot, trace, browser console)
68
77
 
@@ -119,12 +128,14 @@ reporter prints. The numbers below are therefore Squally's current ones rather
119
128
  than anything this package guarantees, and can change server-side without a new
120
129
  release of it:
121
130
 
122
- - **50 MB per individual file**, the same on every plan. A larger screenshot or
123
- trace is rejected before any bytes are uploaded; the reporter logs a
124
- `console.warn` naming the file and moves on. The test result itself is
125
- reported as usual, and the run's outcome and exit code are untouched. In the
126
- dashboard that artifact is shown as skipped, with the reason, rather than
127
- silently missing.
131
+ - **50 MB per screenshot or trace, 4 MB per browser console**, the same on
132
+ every plan. A larger file is rejected before any bytes are uploaded; the
133
+ reporter logs a `console.warn` naming the file and its limit and moves on.
134
+ The test result itself is reported as usual, and the run's outcome and exit
135
+ code are untouched. In the dashboard that artifact is shown as skipped, with
136
+ the reason, rather than silently missing.
137
+ - **At most 250 artifacts per shard.** Squally keeps the first 250 and skips
138
+ the rest with the reason `limit`, which the reporter explains in one line.
128
139
  - **A total storage cap per organization, depending on your Squally plan.**
129
140
  Once it is reached, further uploads are rejected the same way until you free
130
141
  up space or upgrade. Note that a fully instrumented suite now produces up to
@@ -151,15 +162,19 @@ dashboard stays close to real time even for a long suite. A batch goes out on
151
162
  whichever of these comes first:
152
163
 
153
164
  - **25 results.** Fixed, and the same whether you shard or not.
154
- - **A timer, 2 seconds × the number of shards, capped at 30 seconds.** An
155
- unsharded run flushes every 2 seconds; four shards every 8; eight shards
156
- every 16; fifteen shards and above every 30, where the cap holds it.
165
+ - **A timer: 2 seconds, or 0.4 seconds × the number of shards when that is
166
+ longer, capped at 30 seconds** (0.12.0). Up to five shards every shard
167
+ flushes every 2 seconds; eight shards every 3.2; sixteen every 6.4; from 75
168
+ shards the cap holds it at 30.
157
169
 
158
170
  Only the timer scales. All shards of a run share one rate budget on Squally's
159
- side, so without this a sixteen-shard suite would send sixteen times the
160
- requests of an unsharded one and throttle itself. The 25-result threshold is
161
- left alone deliberately: it bounds how long a *fast* suite waits, and
162
- stretching it would delay results without bounding the burst any better.
171
+ side (300 requests a minute per key), and the timer keeps all of them
172
+ together at about half of it. The 25-result threshold is left alone
173
+ deliberately: it bounds how long a *fast* suite waits, and stretching it would
174
+ delay results without bounding the burst any better.
175
+
176
+ A batch also stays under 3 MB (0.12.0): results with long error texts or many
177
+ steps simply go out in more, smaller requests.
163
178
 
164
179
  There is no longer a single-request size limit that could discard a whole run -
165
180
  a very large suite simply takes more, smaller requests. As a courtesy the
@@ -171,6 +186,23 @@ If Squally is unreachable partway through, results already sent stay in the
171
186
  dashboard; only what could not be delivered is lost, and your test run's exit
172
187
  code is never affected either way.
173
188
 
189
+ ## Steps (0.12.0)
190
+
191
+ For an attempt that **failed, or needed a retry**, the reporter also sends the
192
+ steps Playwright recorded - hooks, fixtures, actions, assertions and your own
193
+ `test.step`s, with their durations and `file:line`. Squally shows them on the
194
+ attempt page, the failing step marked. An attempt that passed on its first try
195
+ sends none.
196
+
197
+ - **Typed values never leave your runner.** The value of a `fill`, `type` or
198
+ `pressSequentially` is replaced: `Fill "•••" getByLabel('Password')`. Every
199
+ title also goes through the same secret masking as error texts.
200
+ - **At most 300 steps per attempt, 200 characters per title.** A longer list
201
+ keeps the failing step and the steps it sits in, then the rest in order, and
202
+ tells Squally how many were left out.
203
+ - Nothing to configure: steps come from Playwright's own report, with or
204
+ without tracing.
205
+
174
206
  **Only actual test runs appear.** A run shows up in Squally once your first
175
207
  test starts, so commands that never run a test create nothing: `--list`,
176
208
  a `globalSetup` or `webServer` that fails to start, a `--grep` that matches
@@ -187,6 +219,11 @@ count against the test.
187
219
 
188
220
  ## Cancelled runs
189
221
 
222
+ **Cancelled in Squally.** An admin can cancel a running run from its page in
223
+ Squally. That marks the run there; it does not stop your CI job. What the job
224
+ sends afterwards is discarded, and from 0.12.0 the reporter says so in one
225
+ line - "This run was cancelled in Squally" - instead of advice about job keys.
226
+
190
227
  A run stopped with SIGINT - Ctrl+C, or a cancelled CI job - shows in Squally
191
228
  as **Cancelled**: the reporter sends what finished and tells Squally the run
192
229
  was interrupted. Your exit code stays Playwright's own (130). This needs
@@ -375,10 +412,16 @@ the shards that did not pass; that attempt waits only for those shards,
375
412
  completes once they have reported, and passes or fails on the tests they ran -
376
413
  the reused shards are neither waited for nor counted, and the run page shows
377
414
  them as "passed in #N · not re-run". A re-run shard that never reports still
378
- leaves the run incomplete after the run timeout. Other CI systems re-run a job
379
- under the id of a run that has already completed - a GitLab job retry, an Azure
380
- Pipelines re-run, a Bitbucket re-run of failed steps, a Buildkite retry - and
381
- those results are refused, with the "already completed" message above.
415
+ leaves the run incomplete after the run timeout.
416
+
417
+ Other CI systems re-run a job under the id of the run it belongs to - a GitLab
418
+ job retry, an Azure Pipelines re-run, a Bitbucket re-run of failed steps, a
419
+ Buildkite retry, a Travis CI restart. Since 0.11.0 Squally refuses such a
420
+ retry at the start with `ci_run_collision`: the slot is taken by the first
421
+ attempt. **`SQUALLY_CI_JOB_KEY` does not help here** - the retry is the same
422
+ job - so a retry on these systems is not reported; the first attempt stays the
423
+ run. A Drone restart is a new build with a new number, and so a new run in
424
+ Squally, not linked to the one it repeats.
382
425
 
383
426
  **`playwright merge-reports` is not part of this and is not recommended** for
384
427
  getting a single run in Squally - the automatic correlation above is the
package/dist/index.d.ts CHANGED
@@ -43,15 +43,33 @@ interface AppendResultEntry {
43
43
  errors?: AppendErrorEntry[];
44
44
  consoleOutput: string | null;
45
45
  tags?: string[];
46
+ /**
47
+ * Playwright's steps of this attempt (0.12.0), flat, the parent by index -
48
+ * only for an attempt that did not pass on its first try (stepsForAttempt).
49
+ * Omitted otherwise, and by squally-app before 19.10.2026, which ignores
50
+ * fields it does not know.
51
+ */
52
+ steps?: StepEntry[];
53
+ /** How many steps were left out to stay within MAX_STEPS. Omitted when none. */
54
+ stepsOmitted?: number;
46
55
  browserName: string | null;
47
56
  errorContext: string | null;
48
57
  }
49
58
  type ArtifactType = "screenshot" | "trace" | "console";
59
+ /** One step on the wire: title, category, parent index, duration, "file:line", failed. */
60
+ interface StepEntry {
61
+ t: string;
62
+ c: string;
63
+ p: number | null;
64
+ d: number | null;
65
+ l?: string;
66
+ e?: true;
67
+ }
50
68
  declare function truncate(value: string, max: number): string;
51
69
  declare function truncateOrNull(value: string | null, max: number): string | null;
52
70
  /**
53
- * This shard's flush interval: the base cadence stretched by how many shards
54
- * share the rate budget with it.
71
+ * This shard's flush interval: the base cadence, stretched once enough shards
72
+ * share the rate budget to need it.
55
73
  *
56
74
  * Only the TIMER is scaled. FLUSH_THRESHOLD_RESULTS is not, and that is
57
75
  * deliberate: it is a latency bound on a fast suite, not a rate control, and
@@ -211,15 +229,6 @@ declare function isHttpsUrl(value: string): boolean;
211
229
  * a debug line: a missing link is no reason to warn on every run.
212
230
  */
213
231
  declare function detectCiRunUrl(env: NodeJS.ProcessEnv): string | null;
214
- /**
215
- * What the reporter prints when squally-app refuses this job's begin with a
216
- * 409 (0.11.0). One block per code; nothing is retried and nothing more is
217
- * sent for this job - the test run itself is untouched.
218
- * - ci_run_collision: another job already reports this CI run id's slot;
219
- * - ci_run_mixed: the id would group an unsharded job with a sharded one,
220
- * or shards of different totals;
221
- * - anything else: the server's own sentence.
222
- */
223
232
  declare function beginRefusalMessage(refusal: {
224
233
  code: string | null;
225
234
  message: string | null;
@@ -229,6 +238,58 @@ declare function beginRefusalMessage(refusal: {
229
238
  shardIndex: number | null;
230
239
  jobKey: string | null;
231
240
  }): string;
241
+ /**
242
+ * A test's identity as Squally stores it: testName and filePath, sent with
243
+ * every result (onTestEnd) and counted at begin (countPlannedTests) - one
244
+ * derivation, so the two can never disagree.
245
+ *
246
+ * Truncated HERE, once, not when the payload is built: testName/filePath
247
+ * are Squally's test identity, and /api/artifacts/presign resolves each
248
+ * artifact back to a TestResult through exactly these two values plus
249
+ * retryCount. Cutting them in two places, or cutting them only for the
250
+ * ingest payload, would make every artifact of a long-named test
251
+ * unmatchable server-side.
252
+ *
253
+ * slice(1), NOT slice(2) - the project name has to stay in the title.
254
+ * See squally-app/docs/ingest-v2-spec.md section 5.1/5.2: testName is
255
+ * part of @@unique([projectId, testName, filePath]), and the identity
256
+ * key is UNCHANGED in v2 (a deliberately conservative decision - see the
257
+ * spec's own section 5.2). "chromium > a.spec.ts > t" and
258
+ * "webkit > a.spec.ts > t" stay two independent identities; merging them
259
+ * would make the same-commit-flip signal treat a browser-specific bug as
260
+ * proven flakiness across the whole suite at once.
261
+ */
262
+ export declare function testIdentity(test: Pick<TestCase, "titlePath" | "location">): {
263
+ testName: string;
264
+ filePath: string;
265
+ };
266
+ /**
267
+ * How many tests this run (this shard, under --shard) will execute, counted
268
+ * the way squally-app counts a run's tests: one per testIdentity -
269
+ * `testName::filePath`, the key of its aggregateTestAttempts - however often
270
+ * that test runs. The suite Playwright hands onBegin is already the shard's
271
+ * subset (the shard filter runs before onBegin).
272
+ *
273
+ * - PROJECTS ARE NOT FOLDED: the project name is part of testName, so
274
+ * "chromium > a.spec.ts > t" and "webkit > a.spec.ts > t" are two tests
275
+ * here exactly as they are two tests in the app.
276
+ * - --repeat-each IS FOLDED: Playwright clones each test per repetition,
277
+ * but every clone has the same identity, and the app counts one test.
278
+ * - Skipped tests count: they are in the suite, and the app counts their
279
+ * skipped result like any other.
280
+ * - SETUP / DEPENDENCY PROJECTS are re-attached to every shard by
281
+ * Playwright, so their tests are in every shard's plan, while the app
282
+ * counts each of them once for the whole group. Accepted: a small
283
+ * overcount of the plan, which the bar shows as a remainder until the
284
+ * run ends.
285
+ *
286
+ * Null when the suite cannot be read: the bar then shows counts only, never
287
+ * a guess. Capped at the server's limit so a nonsense value cannot cost the
288
+ * run.
289
+ */
290
+ export declare function countPlannedTests(suite: {
291
+ allTests(): Pick<TestCase, "titlePath" | "location">[];
292
+ }): number | null;
232
293
  interface ProjectSuiteLike {
233
294
  project(): {
234
295
  name: string;
@@ -244,6 +305,54 @@ declare function resolveTestedRevision(env?: NodeJS.ProcessEnv, io?: GitContextI
244
305
  declare function toPosixPath(p: string): string;
245
306
  declare function stripAnsi(value: string): string;
246
307
  declare function maskSecrets(value: string): string;
308
+ /** The step fields this reporter reads - a structural subset of Playwright's TestStep. */
309
+ interface StepLike {
310
+ title: string;
311
+ category: string;
312
+ duration: number;
313
+ error?: unknown;
314
+ location?: {
315
+ file: string;
316
+ line: number;
317
+ };
318
+ steps?: StepLike[];
319
+ }
320
+ declare function stripTypedValue(title: string): string;
321
+ /** Whether this attempt sends its steps: a failure, a timeout, or any retry. */
322
+ declare function attemptSendsSteps(result: {
323
+ status: string;
324
+ retry: number;
325
+ }): boolean;
326
+ /**
327
+ * The attempt's steps for the wire, at most MAX_STEPS, and how many were left
328
+ * out. Null when there are none.
329
+ *
330
+ * FAILED IS MARKED ON THE DEEPEST STEP ONLY: Playwright puts the error on a
331
+ * failing expect AND on every test.step around it, and the page should point
332
+ * at the one that broke, not paint its whole ancestry red.
333
+ *
334
+ * THE CUT KEEPS THE FAILING PATH (decision 4): every marked step and its
335
+ * ancestors first, then the rest in order until MAX_STEPS. A kept step whose
336
+ * parent was cut hangs from its nearest kept ancestor.
337
+ */
338
+ declare function stepsForAttempt(steps: readonly StepLike[] | undefined, rootDir: string): {
339
+ steps: StepEntry[];
340
+ omitted: number;
341
+ } | null;
342
+ /** The result entry's step fields: none at all when there are no steps, no stepsOmitted when nothing was cut. */
343
+ declare function stepFields(payload: {
344
+ steps: StepEntry[];
345
+ omitted: number;
346
+ } | null): {
347
+ steps?: StepEntry[];
348
+ stepsOmitted?: number;
349
+ };
350
+ /**
351
+ * How many of the buffered results go into the next request: up to
352
+ * BATCH_MAX_RESULTS and BATCH_MAX_BYTES, and always at least one - a single
353
+ * result is bounded far below the byte limit by its own field limits.
354
+ */
355
+ declare function takeBatch(buffer: readonly unknown[], maxResults: number, maxBytes: number): number;
247
356
  /** One piece of free text as it goes on the wire: masked, then cut to maxChars. */
248
357
  declare function outgoingText(value: string, maxChars: number): string;
249
358
  /**
@@ -300,6 +409,9 @@ declare function outgoingResultText(raw: {
300
409
  };
301
410
  declare function attemptQualifiesForArtifacts(mappedStatus: AppendResultEntry["status"], retryCount: number): boolean;
302
411
  declare function artifactKey(testName: string, filePath: string, retryCount: number, repeatIndex: number, type: ArtifactType): string;
412
+ /** Why the app skipped an artifact, as a sentence (0.12.0: the limit per kind, and `limit`). */
413
+ declare function skipReasonMessage(reason: string, type: ArtifactType): string;
414
+ declare function artifactLabel(type: ArtifactType): string;
303
415
  declare function parseRetryAfterMs(headerValue: string | null, nowMs: number): number | null;
304
416
  declare function computeBackoffMs(retryNumber: number): number;
305
417
  declare function resolveConnection(options: SquallyReporterOptions, env: NodeJS.ProcessEnv, warned?: Set<string>): {
@@ -327,6 +439,8 @@ export default class SquallyReporter implements Reporter {
327
439
  private shardTotal;
328
440
  private projectName;
329
441
  private runTags;
442
+ /** countPlannedTests at onBegin (0.13.0), null when it could not be read. */
443
+ private plannedTests;
330
444
  private runConfig;
331
445
  private buffer;
332
446
  private artifacts;
@@ -438,6 +552,17 @@ export declare const __internal: {
438
552
  flushIntervalFor: typeof flushIntervalFor;
439
553
  attemptQualifiesForArtifacts: typeof attemptQualifiesForArtifacts;
440
554
  artifactKey: typeof artifactKey;
555
+ stepsForAttempt: typeof stepsForAttempt;
556
+ stepFields: typeof stepFields;
557
+ stripTypedValue: typeof stripTypedValue;
558
+ attemptSendsSteps: typeof attemptSendsSteps;
559
+ takeBatch: typeof takeBatch;
560
+ skipReasonMessage: typeof skipReasonMessage;
561
+ artifactLabel: typeof artifactLabel;
562
+ MAX_STEPS: number;
563
+ MAX_STEP_TITLE: number;
564
+ BATCH_MAX_BYTES: number;
565
+ DEFAULT_INGEST_URL: string;
441
566
  };
442
567
  export {};
443
568
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}