squally-reporter 0.9.0 → 0.10.0-rc.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
@@ -178,6 +178,56 @@ nothing. A run that *does* execute and legitimately contains no tests — an
178
178
  empty shard, `--only-changed` with no changed test file, `--pass-with-no-tests`
179
179
  — is still reported, as a run with zero results.
180
180
 
181
+ **Timeouts and interrupted tests.** A test that runs out of time is reported
182
+ as failed, and Squally is told that it timed out and what its timeout was -
183
+ including a `test.setTimeout()` or `test.slow()` from inside the test. A test
184
+ that Playwright cuts off because the whole run is stopping (`maxFailures`
185
+ reached, Ctrl+C) is reported as skipped: it did not fail, and it does not
186
+ count against the test.
187
+
188
+ ## Which CI, branch and commit a run is reported under
189
+
190
+ Squally counts **CI runs** in its test metrics, so the reporter works out
191
+ which CI system it is running on from that system's own environment:
192
+
193
+ | Provider | Recognised by | Shards grouped by | Branch | Commit |
194
+ |---|---|---|---|---|
195
+ | GitHub Actions | `GITHUB_ACTIONS` | `GITHUB_RUN_ID`-`GITHUB_RUN_ATTEMPT` | `GITHUB_REF_NAME`; pull requests: `GITHUB_HEAD_REF` | `GITHUB_SHA`; pull requests: the PR's head commit |
196
+ | GitLab CI | `GITLAB_CI` | `CI_PIPELINE_ID` | `CI_COMMIT_BRANCH`; merge requests: `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME` | `CI_COMMIT_SHA`; merged-results pipelines: `CI_MERGE_REQUEST_SOURCE_BRANCH_SHA` |
197
+ | CircleCI | `CIRCLECI` | `CIRCLE_WORKFLOW_ID` | `CIRCLE_BRANCH` | `CIRCLE_SHA1` |
198
+ | Jenkins | `BUILD_TAG` (`jenkins-…`) | `BUILD_TAG` | `CHANGE_BRANCH`, else `BRANCH_NAME`, else `GIT_BRANCH` | `GIT_COMMIT` |
199
+ | Azure Pipelines | `TF_BUILD` | `BUILD_BUILDID` | `BUILD_SOURCEBRANCH`; pull requests: `SYSTEM_PULLREQUEST_SOURCEBRANCH` | `BUILD_SOURCEVERSION`; pull requests: `SYSTEM_PULLREQUEST_SOURCECOMMITID` |
200
+ | Bitbucket Pipelines | `BITBUCKET_BUILD_NUMBER` | `BITBUCKET_BUILD_NUMBER` | `BITBUCKET_BRANCH` | `BITBUCKET_COMMIT` |
201
+ | Buildkite | `BUILDKITE` | `BUILDKITE_BUILD_ID` | `BUILDKITE_BRANCH` | `BUILDKITE_COMMIT` |
202
+ | TeamCity | `TEAMCITY_VERSION` | - (set `SQUALLY_CI_RUN_ID`) | from git | `BUILD_VCS_NUMBER` |
203
+ | AWS CodeBuild | `CODEBUILD_BUILD_ID` | `CODEBUILD_BUILD_ID` | `CODEBUILD_WEBHOOK_HEAD_REF` | `CODEBUILD_RESOLVED_SOURCE_VERSION` |
204
+ | Travis CI | `TRAVIS` | `TRAVIS_BUILD_ID` | `TRAVIS_BRANCH`; pull requests: `TRAVIS_PULL_REQUEST_BRANCH` | `TRAVIS_COMMIT`; pull requests: `TRAVIS_PULL_REQUEST_SHA` |
205
+ | Drone | `DRONE` | `DRONE_BUILD_NUMBER` | `DRONE_BRANCH`; pull requests: `DRONE_SOURCE_BRANCH` | `DRONE_COMMIT_SHA` |
206
+ | any other CI | `CI=true` or `CI=1` | - (set `SQUALLY_CI_RUN_ID`) | from git | from git |
207
+
208
+ - **`CI` counts only as `true` or `1`.** `CI=false` or `CI=0` is a local run -
209
+ unless one of the providers above is recognised, which always wins. A run
210
+ that is none of these is local, and local runs are stored but not counted
211
+ in Squally's test metrics.
212
+ - **Pull requests are reported under their own head commit and source
213
+ branch**, not the merge commit CI checks out - that is the commit Squally's
214
+ GitHub check and pull-request comment have to find. The commit message and
215
+ author are that commit's too - never the "Merge … into …" message of the
216
+ checkout.
217
+ - **The head commit is fetched when the checkout lacks it.** With
218
+ `actions/checkout`'s default `fetch-depth: 1` the head commit is not in the
219
+ clone, so the reporter fetches that one commit from `origin`
220
+ (`git fetch --depth=1 --no-tags`), waits at most 3 seconds, and reads its
221
+ message and author. It only does so in a shallow checkout - fetching into a
222
+ full clone would make it shallow for the rest of your job - and never
223
+ changes `HEAD` or any branch. If the fetch fails or takes longer, the
224
+ message and author stay empty and the reporter says so once; the run and
225
+ its exit code are unaffected. Alternatives: `fetch-depth: 2` on the checkout
226
+ step puts the head commit in the clone, so nothing is fetched, and
227
+ `SQUALLY_DISABLE_HEAD_COMMIT_FETCH=true` turns the fetch off.
228
+ - **A tag build has no branch.** A detached checkout never reports `HEAD` as a
229
+ branch name, and `refs/heads/` or `origin/` prefixes are removed.
230
+
181
231
  ## Tests marked with `test.fail()`
182
232
 
183
233
  Playwright's `test.fail()` marks a test as *expected to fail*: it guards a bug
@@ -190,10 +240,13 @@ The reporter passes that marker on, so Squally reads such a test the same way
190
240
  Playwright does:
191
241
 
192
242
  - **Marked and still failing** - shown as passing, with an "expected failure"
193
- label. It does not count toward your failure numbers, your flakiness
194
- verdicts, or Squally's pull-request check.
243
+ label. It counts as a pass in the test's stability, not against its failure
244
+ rate, and it does not fail Squally's pull-request check.
195
245
  - **Marked and now passing** - shown as a failure, because the marker is out of
196
246
  date and should be removed.
247
+ - **Marked and timed out** - shown as a failure. Playwright does not count a
248
+ timeout as the expected failure either, so the marker is not passed on for
249
+ it.
197
250
 
198
251
  Both ways of marking a test are recognised: the `test.fail()` modifier and a
199
252
  `testInfo.fail()` call inside the test body. `test.skip()` and `test.fixme()`
@@ -212,12 +265,32 @@ them itself: all shards of one CI run are grouped together and shown as one
212
265
  run once every shard has finished, with the flip side of that guarantee being
213
266
  that the run only completes once every shard *has* reported.
214
267
 
215
- Correlation is based on an id read from your CI provider's own environment,
216
- so it costs you nothing on GitHub Actions, GitLab CI or CircleCI. If your
217
- provider is not one of those (or you shard locally across several separate
218
- `--shard` invocations), set `SQUALLY_CI_RUN_ID` to the same value for every
219
- shard of one run - anything unique per CI run and shared by its shards works,
220
- e.g. a build number your CI system already exposes.
268
+ Correlation is based on an id read from your CI provider's own environment
269
+ (the "Shards grouped by" column above), so it costs you nothing on every
270
+ provider in that table except TeamCity. On TeamCity, on a CI system not in the
271
+ table, or when you shard locally across several separate `--shard`
272
+ invocations, set `SQUALLY_CI_RUN_ID` to the same value for every shard of one
273
+ run - anything unique per CI run and shared by its shards works, e.g. a build
274
+ number your CI system already exposes.
275
+
276
+ **Several jobs in one CI run need their own id.** The id is shared by
277
+ everything in one CI run, so two jobs that are *not* shards of each other -
278
+ say a GitHub Actions matrix over browsers, run without `--shard` - would report
279
+ into the same Squally run, and the second job's results are refused once the
280
+ first job has finished it. The reporter then says so once and sends nothing
281
+ more for that job. Give each job its own id, shared only by its own shards:
282
+
283
+ ```yaml
284
+ env:
285
+ SQUALLY_CI_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.browser }}
286
+ ```
287
+
288
+ The same refusal, and the same message, happens when a CI system re-runs a
289
+ job under the id of a run that has already completed: a GitLab job retry, an
290
+ Azure Pipelines re-run, a Bitbucket re-run of failed steps, a Buildkite retry.
291
+ On GitHub Actions each re-run attempt is its own run instead - with one catch
292
+ for sharded runs: "Re-run failed jobs" starts an attempt that contains only the
293
+ re-run shards, and a run that waits for all of its shards shows as incomplete.
221
294
 
222
295
  **`playwright merge-reports` is not part of this and is not recommended** for
223
296
  getting a single run in Squally - the automatic correlation above is the
@@ -236,11 +309,12 @@ problem: branch, commit, commit message and author are all read on whichever
236
309
  machine the reporter actually runs on - during a merge that is the merge job,
237
310
  not the shards - and without a checkout there (and without the CI provider's
238
311
  own commit variables) they all come out empty. A run with no branch is never
239
- counted as a run on your stable branch, which is what Squally's broken/healthy
240
- verdicts are based on - so a "merged" run could exist in the dashboard while
241
- silently contributing nothing to flakiness detection. The automatic
242
- correlation above reads that information from each shard's own environment
243
- instead, so this problem does not arise.
312
+ counted as a run on your stable branch - the branch the dashboard measures by
313
+ default - and no branch filter finds it, so a "merged" run could exist in the
314
+ dashboard while missing from everything Squally measures per branch: suite
315
+ stability, and each test's stability, flaky rate and failure rate on that
316
+ branch. The automatic correlation above reads that information from each
317
+ shard's own environment instead, so this problem does not arise.
244
318
 
245
319
  </details>
246
320
 
package/dist/index.d.ts CHANGED
@@ -26,6 +26,20 @@ interface AppendResultEntry {
26
26
  */
27
27
  expectedFailure?: boolean;
28
28
  durationMs: number | null;
29
+ /**
30
+ * The attempt's effective timeout in milliseconds, 0 for "no timeout" - see
31
+ * resolveTimeoutMs(). null when the runner does not expose a usable value.
32
+ * (0.10.0; squally-app strips it until it has a field for it.)
33
+ */
34
+ timeoutMs: number | null;
35
+ /**
36
+ * Playwright reported this attempt as `timedOut`. `status` still says
37
+ * "failed" for it - the app accepts three statuses - and this is what tells
38
+ * a timeout apart from any other failure. Always sent, false included: an
39
+ * absent field from an older reporter must stay distinguishable from "did
40
+ * not time out". (0.10.0; stripped by the app until it has a field for it.)
41
+ */
42
+ timedOut: boolean;
29
43
  errors?: AppendErrorEntry[];
30
44
  consoleOutput: string | null;
31
45
  tags?: string[];
@@ -49,6 +63,75 @@ declare function truncateOrNull(value: string | null, max: number): string | nul
49
63
  declare function flushIntervalFor(shardTotal: number | null): number;
50
64
  declare function warnIfKeyWillBeSerialized(config: FullConfig, keyCameFromOptions: boolean): void;
51
65
  declare function mapStatus(status: TestResult["status"]): AppendResultEntry["status"];
66
+ declare function isExpectedFailure(expectedStatus: TestCase["expectedStatus"] | undefined, status: TestResult["status"]): boolean;
67
+ /**
68
+ * The attempt's effective timeout in ms, as Playwright applied it (0.10.0).
69
+ *
70
+ * TestCase.timeout, read at onTestEnd. MEASURED on 1.62.1 and on 1.30.0, this
71
+ * package's peer floor: it already includes a test.setTimeout() inside the
72
+ * test body (800 for a config timeout of 1500) and test.slow() (4500, three
73
+ * times 1500). 0 is Playwright's own "no timeout" and is sent as 0.
74
+ *
75
+ * Guarded anyway - a runner that does not hand over a whole number within what
76
+ * the app can store gets null, not a guess.
77
+ *
78
+ * NOT STORED YET, and sent anyway. squally-app's result schema has no field
79
+ * for it and strips unknown keys (its own test pins that:
80
+ * lib/ingest-v2-contract.test.ts). Usually the receiving side goes first here
81
+ * (see prepareConsoleOutput); this time the order is the other way round on
82
+ * purpose (26.09.2026): an absent field breaks nothing, and a reporter that
83
+ * already sends it lets the app's column fill from the first run after the app
84
+ * ships, without waiting for customers to upgrade a second time.
85
+ */
86
+ declare function resolveTimeoutMs(test: Pick<TestCase, "timeout"> | {
87
+ timeout?: unknown;
88
+ }): number | null;
89
+ declare function detectCiProvider(env: NodeJS.ProcessEnv): string | null;
90
+ interface GitContext {
91
+ branch: string | null;
92
+ commitSha: string | null;
93
+ commitMessage: string | null;
94
+ authorName: string | null;
95
+ }
96
+ /** Everything the git context reads from (and says to) the outside world -
97
+ * injected so the tests need neither a repository nor a CI job. */
98
+ interface GitContextIo {
99
+ git: (command: string) => string | null;
100
+ readFile: (filePath: string) => string;
101
+ warn: (message: string) => void;
102
+ /** Fetches one commit from origin; resolves true only when git succeeded in time. Never rejects. */
103
+ fetchCommit: (sha: string, timeoutMs: number) => Promise<boolean>;
104
+ }
105
+ /**
106
+ * `git fetch --depth=1 --no-tags origin <sha>`, bounded by `timeoutMs` no
107
+ * matter what git does. Resolves true only when git exited 0 in time; never
108
+ * rejects.
109
+ *
110
+ * ASYNC, UNLIKE THE OTHER GIT CALLS, and for the bound. A fetch is network:
111
+ * execSync would freeze the runner's event loop for the whole wait, and a
112
+ * synchronous spawn with a timeout still waits for its stdio pipes to close -
113
+ * which a remote helper git started can hold open past the kill. Here nothing
114
+ * is piped (stdio "ignore"), the answer is the child's "exit", and a timer
115
+ * settles the promise at the deadline even if git never exits at all.
116
+ *
117
+ * The timer is ref'd on purpose: this promise is awaited from beginRun, which
118
+ * onEnd waits for - see delay() for what an unref'd wait there once cost.
119
+ *
120
+ * GIT_TERMINAL_PROMPT=0: a remote that asks for credentials fails at once
121
+ * instead of waiting for an answer nobody will type.
122
+ */
123
+ declare function fetchCommitFromOrigin(sha: string, timeoutMs: number, cwd?: string): Promise<boolean>;
124
+ declare function normalizeBranch(raw: string | null | undefined): string | null;
125
+ declare function resolveGitContext(env: NodeJS.ProcessEnv, io?: GitContextIo): GitContext;
126
+ /**
127
+ * The run's git context, fetching a pull request's head commit when the
128
+ * checkout does not have it (0.10.0).
129
+ *
130
+ * Only a head commit is ever fetched: the one case where the reported commit
131
+ * is deliberately not the checked-out one, so the checkout cannot be expected
132
+ * to hold it - at actions/checkout's default depth of 1 it does not.
133
+ */
134
+ declare function resolveGitContextForRun(env: NodeJS.ProcessEnv, io?: GitContextIo): Promise<GitContext>;
52
135
  declare function detectCiRunId(env: NodeJS.ProcessEnv, generateFallback: () => string): string;
53
136
  interface ProjectSuiteLike {
54
137
  project(): {
@@ -149,6 +232,7 @@ export default class SquallyReporter implements Reporter {
149
232
  */
150
233
  private resultsProduced;
151
234
  private sendingDisabled;
235
+ private warnedAlreadyComplete;
152
236
  private flushTimerHandle;
153
237
  private inFlightFlushes;
154
238
  private runStarted;
@@ -194,6 +278,13 @@ export declare const __internal: {
194
278
  resolveTestedRevision: typeof resolveTestedRevision;
195
279
  toPosixPath: typeof toPosixPath;
196
280
  detectCiRunId: typeof detectCiRunId;
281
+ detectCiProvider: typeof detectCiProvider;
282
+ resolveGitContext: typeof resolveGitContext;
283
+ resolveGitContextForRun: typeof resolveGitContextForRun;
284
+ fetchCommitFromOrigin: typeof fetchCommitFromOrigin;
285
+ normalizeBranch: typeof normalizeBranch;
286
+ isExpectedFailure: typeof isExpectedFailure;
287
+ resolveTimeoutMs: typeof resolveTimeoutMs;
197
288
  resolveProjectName: typeof resolveProjectName;
198
289
  maskSecrets: typeof maskSecrets;
199
290
  prepareConsoleOutput: typeof prepareConsoleOutput;
@@ -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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"}