@avi2dg/checks 0.65.1 → 0.65.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Every release of `@avi2dg/checks`, newest first, written by the release from its conventional commits.
4
4
 
5
+ ## 0.65.2
6
+
7
+ Released 2026-11-04.
8
+
9
+ ### Fixes
10
+
11
+ - **testing:** stop filing failed issues for fully undecided night runs [#43](https://github.com/avi2d/checks/pull/43)
12
+
5
13
  ## 0.65.1
6
14
 
7
15
  Released 2026-11-03.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avi2dg/checks",
3
- "version": "0.65.1",
3
+ "version": "0.65.2",
4
4
  "description": "Deterministic checks shared across a set of TypeScript repositories",
5
5
  "author": {
6
6
  "name": "avi2d",
package/src/core/lint.ts CHANGED
@@ -160,6 +160,10 @@ function outcomeOf(exitCode: number): Outcome {
160
160
  return exitCode === 1 ? "violated" : "undecided";
161
161
  }
162
162
 
163
+ export function summaryOf(names: readonly string[], total: number, outcome: "failed" | "undecided"): string {
164
+ return `${names.length} of ${total} gate(s) ${outcome}: ${names.join(", ")}`;
165
+ }
166
+
163
167
  const runGate = Effect.fn("runGate")(function* (gate: KitGate, range: Range, wholeTree: boolean) {
164
168
  const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
165
169
  const script = (yield* Path.Path).join(import.meta.dir, "..", gate.vector, gate.file);
@@ -249,11 +253,11 @@ const lint = Effect.gen(function* () {
249
253
  yield* Console.log(`${NAME}: ${gates.length} gate(s) pass`);
250
254
  return true;
251
255
  }
252
- const names = failed.map((verdict) => verdict.gate.bin).join(", ");
256
+ const names = failed.map((verdict) => verdict.gate.bin);
253
257
  if (failed.every((verdict) => verdict.outcome === "undecided")) {
254
- return yield* new GatesUndecided({ message: `${failed.length} of ${gates.length} gate(s) undecided: ${names}` });
258
+ return yield* new GatesUndecided({ message: summaryOf(names, gates.length, "undecided") });
255
259
  }
256
- const summary = `${failed.length} of ${gates.length} gate(s) failed: ${names}`;
260
+ const summary = summaryOf(names, gates.length, "failed");
257
261
  yield* Console.error(`${NAME}: ${summary}`);
258
262
  return false;
259
263
  });
@@ -78,7 +78,7 @@ export function findingsOf(previous: Option.Option<PreviousNight>, tonight: Toni
78
78
  );
79
79
  }
80
80
 
81
- const FAILED_GATES = /of \d+ gate\(s\) failed: (.+)/;
81
+ const FAILED_GATES = /checks-lint: \d+ of \d+ gate\(s\) failed: (.+)/;
82
82
  const PASSED_GATES = /gate\(s\) pass/;
83
83
 
84
84
  export function gatesOf(log: string): readonly Finding[] {