@overkill-dev/run 0.0.55 → 0.0.57

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.
Files changed (197) hide show
  1. package/engine/async-leak-diagnostics.d.ts.map +1 -1
  2. package/engine/async-leak-diagnostics.js +10 -0
  3. package/engine/async-leak-diagnostics.js.map +1 -1
  4. package/engine/case-execution.d.ts.map +1 -1
  5. package/engine/case-execution.js +2 -0
  6. package/engine/case-execution.js.map +1 -1
  7. package/engine/execution-async-leak-policy.d.ts.map +1 -1
  8. package/engine/execution-async-leak-policy.js +1 -0
  9. package/engine/execution-async-leak-policy.js.map +1 -1
  10. package/engine/execution-global-error-observer.d.ts.map +1 -1
  11. package/engine/execution-global-error-observer.js +3 -0
  12. package/engine/execution-global-error-observer.js.map +1 -1
  13. package/engine/execution-supervision.d.ts.map +1 -1
  14. package/engine/execution-supervision.js +11 -5
  15. package/engine/execution-supervision.js.map +1 -1
  16. package/engine/reporter-dispatcher.d.ts.map +1 -1
  17. package/engine/reporter-dispatcher.js +1 -0
  18. package/engine/reporter-dispatcher.js.map +1 -1
  19. package/engine/run-result.d.ts +6 -0
  20. package/engine/run-result.d.ts.map +1 -1
  21. package/engine/run-result.js +2 -0
  22. package/engine/run-result.js.map +1 -1
  23. package/package.json +10 -4
  24. package/packages/reporter-line/reporter-line.entry-point.js +19 -1
  25. package/packages/reporter-line/reporter-line.entry-point.js.map +1 -1
  26. package/packages/run/run.entry-point.d.ts +2 -1
  27. package/packages/run/run.entry-point.d.ts.map +1 -1
  28. package/readme.md +7 -1
  29. package/reporters/failure-summary.js +16 -0
  30. package/reporters/failure-summary.js.map +1 -0
  31. package/reporters/human-reporter-rendering.js +214 -0
  32. package/reporters/human-reporter-rendering.js.map +1 -0
  33. package/reporters/line-reporter.js +92 -97
  34. package/reporters/line-reporter.js.map +1 -1
  35. package/reporters/run-timing-summary.js +11 -0
  36. package/reporters/run-timing-summary.js.map +1 -0
  37. package/reporters/terminal.js +5 -1
  38. package/reporters/terminal.js.map +1 -1
  39. package/run/capability-policy.js +5 -0
  40. package/run/capability-policy.js.map +1 -1
  41. package/run/command-line-runner.d.ts.map +1 -1
  42. package/run/command-line-runner.js +10 -5
  43. package/run/command-line-runner.js.map +1 -1
  44. package/run/duration-history.d.ts +10 -1
  45. package/run/duration-history.d.ts.map +1 -1
  46. package/run/duration-history.js +3 -2
  47. package/run/duration-history.js.map +1 -1
  48. package/run/node-child-process-starters.js +1 -1
  49. package/run/node-child-process-starters.js.map +1 -1
  50. package/run/placement-trace.d.ts +9 -0
  51. package/run/placement-trace.d.ts.map +1 -1
  52. package/run/placement-trace.js.map +1 -1
  53. package/run/resource-lifecycle-boundaries.js +73 -0
  54. package/run/resource-lifecycle-boundaries.js.map +1 -0
  55. package/run/resource-lifecycle-projection.js +48 -0
  56. package/run/resource-lifecycle-projection.js.map +1 -0
  57. package/run/resource-lifecycle-session-acquirer.js +177 -0
  58. package/run/resource-lifecycle-session-acquirer.js.map +1 -0
  59. package/run/resource-lifecycle-startup-budget.js +81 -0
  60. package/run/resource-lifecycle-startup-budget.js.map +1 -0
  61. package/run/resource-lifecycle-state.d.ts +2 -0
  62. package/run/resource-lifecycle-state.d.ts.map +1 -1
  63. package/run/resource-lifecycle-state.js.map +1 -1
  64. package/run/resource-lifecycle-timing.js +85 -0
  65. package/run/resource-lifecycle-timing.js.map +1 -0
  66. package/run/resource-lifecycle.js +130 -235
  67. package/run/resource-lifecycle.js.map +1 -1
  68. package/run/run-collected-planning.js +23 -6
  69. package/run/run-collected-planning.js.map +1 -1
  70. package/run/run-collected-resolution.js +3 -2
  71. package/run/run-collected-resolution.js.map +1 -1
  72. package/run/run-collection-error-result.js +2 -2
  73. package/run/run-collection-error-result.js.map +1 -1
  74. package/run/run-config-schema.d.ts +7 -0
  75. package/run/run-config-schema.d.ts.map +1 -1
  76. package/run/run-config-schema.js +4 -0
  77. package/run/run-config-schema.js.map +1 -1
  78. package/run/run-config.d.ts.map +1 -1
  79. package/run/run-config.js +4 -4
  80. package/run/run-config.js.map +1 -1
  81. package/run/run-empty-shard.js +2 -2
  82. package/run/run-empty-shard.js.map +1 -1
  83. package/run/run-errors.d.ts.map +1 -1
  84. package/run/run-errors.js +1 -0
  85. package/run/run-errors.js.map +1 -1
  86. package/run/run-facts.js +4 -0
  87. package/run/run-facts.js.map +1 -1
  88. package/run/run-if-main-facts.js +2 -1
  89. package/run/run-if-main-facts.js.map +1 -1
  90. package/run/run-in-process-execution.js +3 -3
  91. package/run/run-in-process-execution.js.map +1 -1
  92. package/run/run-input-resolution.js +6 -0
  93. package/run/run-input-resolution.js.map +1 -1
  94. package/run/run-isolated-process.js +39 -24
  95. package/run/run-isolated-process.js.map +1 -1
  96. package/run/run-local-execution.js +12 -3
  97. package/run/run-local-execution.js.map +1 -1
  98. package/run/run-local-resolution.js +4 -2
  99. package/run/run-local-resolution.js.map +1 -1
  100. package/run/run-orchestrator-dependencies.d.ts +2 -0
  101. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  102. package/run/run-orchestrator-dependencies.js.map +1 -1
  103. package/run/run-support.js +14 -6
  104. package/run/run-support.js.map +1 -1
  105. package/run/run-timing-collection.d.ts +43 -0
  106. package/run/run-timing-collection.d.ts.map +1 -0
  107. package/run/run-timing-collection.js +173 -8
  108. package/run/run-timing-collection.js.map +1 -1
  109. package/run/run-types.d.ts +13 -3
  110. package/run/run-types.d.ts.map +1 -1
  111. package/run/run-types.js.map +1 -1
  112. package/run/run-validation.js +2 -0
  113. package/run/run-validation.js.map +1 -1
  114. package/run/run.js +31 -20
  115. package/run/run.js.map +1 -1
  116. package/run/supervised-child-process.d.ts +1 -0
  117. package/run/supervised-child-process.d.ts.map +1 -1
  118. package/run/supervised-child-process.js +5 -0
  119. package/run/supervised-child-process.js.map +1 -1
  120. package/run/supervised-child-test-plan.js +2 -0
  121. package/run/supervised-child-test-plan.js.map +1 -1
  122. package/run/supervised-child.js +3 -2
  123. package/run/supervised-child.js.map +1 -1
  124. package/run/supervised-protocol.js +14 -0
  125. package/run/supervised-protocol.js.map +1 -1
  126. package/run/supervised-run-collection.js +123 -0
  127. package/run/supervised-run-collection.js.map +1 -0
  128. package/run/supervised-run-resource-policy.js +6 -0
  129. package/run/supervised-run-resource-policy.js.map +1 -1
  130. package/run/supervised-run-runtime.js +9 -13
  131. package/run/supervised-run-runtime.js.map +1 -1
  132. package/run/supervised-run-state.d.ts +1 -0
  133. package/run/supervised-run-state.d.ts.map +1 -1
  134. package/run/supervised-run-state.js +17 -5
  135. package/run/supervised-run-state.js.map +1 -1
  136. package/run/supervised-run.js +76 -104
  137. package/run/supervised-run.js.map +1 -1
  138. package/run/work-unit-resource-constraints.js +6 -6
  139. package/run/work-unit-resource-constraints.js.map +1 -1
  140. package/run/worker-pool-collection.js +47 -20
  141. package/run/worker-pool-collection.js.map +1 -1
  142. package/run/worker-pool-command.js +68 -0
  143. package/run/worker-pool-command.js.map +1 -0
  144. package/run/worker-pool-dispatch-state.js +59 -0
  145. package/run/worker-pool-dispatch-state.js.map +1 -1
  146. package/run/worker-pool-dynamic-plan.js +62 -0
  147. package/run/worker-pool-dynamic-plan.js.map +1 -0
  148. package/run/worker-pool-execution.js +53 -83
  149. package/run/worker-pool-execution.js.map +1 -1
  150. package/run/worker-pool-hedge-dispatch.js +2 -1
  151. package/run/worker-pool-hedge-dispatch.js.map +1 -1
  152. package/run/worker-pool-host-process-starter.js +13 -0
  153. package/run/worker-pool-host-process-starter.js.map +1 -0
  154. package/run/worker-pool-host-process.js +53 -79
  155. package/run/worker-pool-host-process.js.map +1 -1
  156. package/run/worker-pool-host-protocol.js.map +1 -1
  157. package/run/worker-pool-host-signal.js +21 -0
  158. package/run/worker-pool-host-signal.js.map +1 -0
  159. package/run/worker-pool-host-task.js +55 -0
  160. package/run/worker-pool-host-task.js.map +1 -0
  161. package/run/worker-pool-lanes.js +51 -28
  162. package/run/worker-pool-lanes.js.map +1 -1
  163. package/run/worker-pool-lease-selection.js +85 -0
  164. package/run/worker-pool-lease-selection.js.map +1 -0
  165. package/run/worker-pool-lifecycle-lanes.js +4 -56
  166. package/run/worker-pool-lifecycle-lanes.js.map +1 -1
  167. package/run/worker-pool-placement-planning.js +9 -4
  168. package/run/worker-pool-placement-planning.js.map +1 -1
  169. package/run/worker-pool-protocol.js +2 -0
  170. package/run/worker-pool-protocol.js.map +1 -0
  171. package/run/worker-pool-resource-lifecycle-execution.js +155 -0
  172. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -0
  173. package/run/worker-pool-routing.js +6 -3
  174. package/run/worker-pool-routing.js.map +1 -1
  175. package/run/worker-pool-run.js +74 -19
  176. package/run/worker-pool-run.js.map +1 -1
  177. package/run/worker-pool-runtime.js +77 -17
  178. package/run/worker-pool-runtime.js.map +1 -1
  179. package/run/worker-pool-task-events.js +20 -0
  180. package/run/worker-pool-task-events.js.map +1 -1
  181. package/run/worker-pool-task-validation.js +11 -0
  182. package/run/worker-pool-task-validation.js.map +1 -0
  183. package/run/worker-pool-warm-lane-affinity.d.ts +13 -0
  184. package/run/worker-pool-warm-lane-affinity.d.ts.map +1 -0
  185. package/run/worker-pool-warm-lane-affinity.js +147 -0
  186. package/run/worker-pool-warm-lane-affinity.js.map +1 -0
  187. package/run/worker-pool-work-dispatcher.js +78 -154
  188. package/run/worker-pool-work-dispatcher.js.map +1 -1
  189. package/run/worker-pool-worker-plan.js +1 -0
  190. package/run/worker-pool-worker-plan.js.map +1 -1
  191. package/run/worker-pool-worker-resources.js +99 -0
  192. package/run/worker-pool-worker-resources.js.map +1 -0
  193. package/run/worker-pool-worker-timing.js +63 -0
  194. package/run/worker-pool-worker-timing.js.map +1 -0
  195. package/run/worker-pool-worker.js +93 -32
  196. package/run/worker-pool-worker.js.map +1 -1
  197. package/sbom.cdx.json +9 -9
@@ -1,6 +1,7 @@
1
1
  import { MessageChannel as NodeMessageChannel } from 'node:worker_threads';
2
2
  import { RunCollectionError } from "./run-errors.js";
3
3
  import { createStoredRunValue } from "./supervised-run-state.js";
4
+ import { emptyTimingSpanMetadata, instantTimingSpanObservation } from "./run-timing-collection.js";
4
5
  function portTransferList(port) {
5
6
  return [port];
6
7
  }
@@ -26,6 +27,7 @@ function startCollectionTimeout(context) {
26
27
  attributedTo: null,
27
28
  attributedToWork: null,
28
29
  cause: { reason: 'Worker-pool collection exceeded collection timeout.' },
30
+ diagnostics: [{ label: 'reason', value: 'Worker-pool collection exceeded collection timeout.' }],
29
31
  message: 'Worker-pool collection exceeded collection timeout.',
30
32
  subtype: 'crash'
31
33
  });
@@ -52,25 +54,36 @@ function observeCollectionOutput(port, runState) {
52
54
  recordCollectionOutput(message, runState);
53
55
  });
54
56
  }
55
- function createCollectionRuntime(command, dependencies, runState, createdPool) {
57
+ function createCollectionRuntime(input) {
56
58
  const { port1, port2 } = new NodeMessageChannel();
57
59
  const controller = new AbortController();
58
60
  const terminalFailure = createStoredRunValue(false);
59
- const timeout = startCollectionTimeout({ command, controller, dependencies, runState, terminalFailure });
60
- observeCollectionOutput(port2, runState);
61
- const pool = createdPool ?? dependencies.createWorkerPool({
62
- cwd: command.cwd,
63
- hostProcess: command.hostProcess,
64
- testFamily: command.testFamily,
61
+ const timeout = startCollectionTimeout({
62
+ command: input.command,
63
+ controller,
64
+ dependencies: input.dependencies,
65
+ runState: input.runState,
66
+ terminalFailure
67
+ });
68
+ observeCollectionOutput(port2, input.runState);
69
+ const timingOption = input.timing === null ? {} : { timing: input.timing };
70
+ const poolOptions = {
71
+ cwd: input.command.cwd,
72
+ hostProcess: input.command.hostProcess,
73
+ testFamily: input.command.testFamily,
74
+ ...timingOption,
65
75
  workerCount: 1,
66
76
  workerLifecycle: 'fresh-worker-per-unit'
67
- });
77
+ };
78
+ const pool = input.createdPool ?? input.timing?.measure('worker-pool.start', emptyTimingSpanMetadata(), function createTimedCollectionWorkerPool() {
79
+ return input.dependencies.createWorkerPool(poolOptions);
80
+ }) ?? input.dependencies.createWorkerPool(poolOptions);
68
81
  pool.setHostOutputSink?.(function recordHostOutput(stream, chunk) {
69
- runState.recordCapturedOutput(stream, chunk, dependencies.wallClock.currentMonotonicMicroseconds);
82
+ input.runState.recordCapturedOutput(stream, chunk, input.dependencies.wallClock.currentMonotonicMicroseconds);
70
83
  });
71
84
  return {
72
85
  controller,
73
- destroyPool: createdPool === null,
86
+ destroyPool: input.createdPool === null,
74
87
  pool,
75
88
  port1,
76
89
  port2,
@@ -90,21 +103,35 @@ function completeCollection(collection, runtime, runState) {
90
103
  }
91
104
  return collectionResult(collection, runState);
92
105
  }
93
- export async function collectInWorkerPool(command, dependencies, runState, createdPool = null) {
94
- const runtime = createCollectionRuntime(command, dependencies, runState, createdPool);
106
+ async function destroyCollectionRuntime(input, runtime) {
107
+ input.dependencies.wallClock.clearTimeout(runtime.timeout);
108
+ runtime.port2.close();
109
+ runtime.pool.setHostOutputSink?.(null);
110
+ if (runtime.destroyPool) {
111
+ await (input.timing?.measureAsync('worker-pool.shutdown', emptyTimingSpanMetadata(), async function destroyTimedCollectionPool() {
112
+ await runtime.pool.destroy();
113
+ }) ?? runtime.pool.destroy());
114
+ }
115
+ }
116
+ async function collectWithRuntime(input, runtime) {
117
+ input.timing?.record(instantTimingSpanObservation({
118
+ kind: 'worker-pool.ready',
119
+ metadata: emptyTimingSpanMetadata(),
120
+ observedAtMicroseconds: input.dependencies.wallClock.currentMonotonicMicroseconds,
121
+ status: 'success'
122
+ }));
123
+ return completeCollection(await runCollectionTask(runtime.pool, input.command, runtime.port1, runtime.controller), runtime, input.runState);
124
+ }
125
+ export async function collectInWorkerPool(input) {
126
+ const runtime = createCollectionRuntime(input);
95
127
  try {
96
- return completeCollection(await runCollectionTask(runtime.pool, command, runtime.port1, runtime.controller), runtime, runState);
128
+ return await collectWithRuntime(input, runtime);
97
129
  }
98
130
  catch (error) {
99
- throw collectionError(error, runState);
131
+ throw collectionError(error, input.runState);
100
132
  }
101
133
  finally {
102
- dependencies.wallClock.clearTimeout(runtime.timeout);
103
- runtime.port2.close();
104
- runtime.pool.setHostOutputSink?.(null);
105
- if (runtime.destroyPool) {
106
- await runtime.pool.destroy();
107
- }
134
+ await destroyCollectionRuntime(input, runtime);
108
135
  }
109
136
  }
110
137
  //# sourceMappingURL=worker-pool-collection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-collection.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool-collection.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { workerPoolExecutionFacts } from "./worker-pool-runtime.js";
2
+ function workerPoolEngine(runtime) {
3
+ if (runtime.resolvedRun.engine.kind === 'instance') {
4
+ throw new Error('Instance engines are not supported with worker-pool execution. Use a module engine.');
5
+ }
6
+ return runtime.resolvedRun.engine;
7
+ }
8
+ function unitPaths(unit) {
9
+ return Array.from(new Set(unit.work.map(function toFile(work) {
10
+ if (work.case.file === null) {
11
+ throw new Error('Worker-pool work units require file-backed cases.');
12
+ }
13
+ return work.case.file;
14
+ })));
15
+ }
16
+ function memberPaths(members) {
17
+ return Array.from(new Set(members.flatMap(function toPaths(member) {
18
+ return unitPaths(member.unit);
19
+ })));
20
+ }
21
+ export function placementRunWork(plan) {
22
+ return plan.units.flatMap(function toWork(unit) {
23
+ return unit.work;
24
+ });
25
+ }
26
+ export function firstPlanUnit(plan) {
27
+ const unit = plan.units[0];
28
+ if (unit === undefined) {
29
+ throw new Error('Worker-pool resource acquisition requires a work unit.');
30
+ }
31
+ return unit;
32
+ }
33
+ export function createRunCommand(runtime, unit) {
34
+ const execution = workerPoolExecutionFacts(runtime.resolvedRun);
35
+ return {
36
+ collectionTimeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.collectionMilliseconds,
37
+ cwd: runtime.resolvedRun.cwd,
38
+ definitionLocationCapture: 'disabled',
39
+ engine: workerPoolEngine(runtime),
40
+ hardTimeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.hardMilliseconds,
41
+ hostProcess: execution.hostProcess.kind === 'direct'
42
+ ? { kind: 'direct' }
43
+ : {
44
+ kind: 'child',
45
+ nodeArguments: Array.from(execution.hostProcess.nodeArguments)
46
+ },
47
+ paths: unitPaths(unit),
48
+ resourceBudgets: runtime.resolvedRun.facts.execution.resourceUsagePolicy.budgets,
49
+ resourceUsageSamplingIntervalMilliseconds: runtime
50
+ .resolvedRun
51
+ .facts
52
+ .execution
53
+ .resourceUsagePolicy
54
+ .samplingIntervalMilliseconds,
55
+ scheduling: unit.scheduling,
56
+ testFamily: runtime.resolvedRun.facts.execution.testFamily,
57
+ timeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.softMilliseconds,
58
+ workerLifecycle: unit.workerLifecycle
59
+ };
60
+ }
61
+ export function createBatchRunCommand(runtime, members) {
62
+ const [first] = members;
63
+ return {
64
+ ...createRunCommand(runtime, first.unit),
65
+ paths: memberPaths(members)
66
+ };
67
+ }
68
+ //# sourceMappingURL=worker-pool-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool-command.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-command.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,62 @@
1
+ import { traceUnitKey } from "./placement-trace.js";
2
+ export function workerPoolLeaseKey(lease) {
3
+ return JSON.stringify([lease.kind, lease.envelopeId, traceUnitKey(lease.traceUnit), lease.lane.id]);
4
+ }
5
+ export function uniqueText(values) {
6
+ return Array.from(new Set(values));
7
+ }
8
+ export function hardConstraintKeys(unit) {
9
+ return uniqueText([
10
+ ...unit.resourceConstraints.serialKeys,
11
+ ...unit.resourceConstraints.singleWorkerKeys
12
+ ]);
13
+ }
14
+ export function faultReservationKey(faultDomain, lane) {
15
+ return JSON.stringify([faultDomain, lane.id]);
16
+ }
17
+ export function createDynamicReservations() {
18
+ const hardLaneByKey = new Map();
19
+ const reservedFaultCounts = new Map();
20
+ const retainedLaneByTraceUnit = new Map();
21
+ return {
22
+ bindHardLane(key, lane) {
23
+ hardLaneByKey.set(key, lane.id);
24
+ },
25
+ boundHardLane(key) {
26
+ return hardLaneByKey.get(key);
27
+ },
28
+ decrementFault(faultDomain, lane) {
29
+ const key = faultReservationKey(faultDomain, lane);
30
+ const count = reservedFaultCounts.get(key) ?? 0;
31
+ if (count <= 1) {
32
+ reservedFaultCounts.delete(key);
33
+ return;
34
+ }
35
+ reservedFaultCounts.set(key, count - 1);
36
+ },
37
+ hardKeyIsBound(key) {
38
+ return hardLaneByKey.has(key);
39
+ },
40
+ incrementFault(faultDomain, lane) {
41
+ const key = faultReservationKey(faultDomain, lane);
42
+ reservedFaultCounts.set(key, (reservedFaultCounts.get(key) ?? 0) + 1);
43
+ },
44
+ releaseHardLane(key, lane) {
45
+ if (hardLaneByKey.get(key) === lane.id) {
46
+ hardLaneByKey.delete(key);
47
+ }
48
+ },
49
+ reservedFaultCount(faultDomain, lane) {
50
+ return reservedFaultCounts.get(faultReservationKey(faultDomain, lane)) ?? 0;
51
+ },
52
+ retainedLane(traceUnit) {
53
+ return retainedLaneByTraceUnit.get(traceUnitKey(traceUnit));
54
+ },
55
+ retainUnit(traceUnit, lane) {
56
+ retainedLaneByTraceUnit.set(traceUnitKey(traceUnit), lane.id);
57
+ }
58
+ };
59
+ }
1
60
  export function createWorkUnitQueue(initialUnits) {
2
61
  let units = Array.from(initialUnits);
3
62
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-dispatch-state.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-dispatch-state.ts"],"names":[],"mappings":"AAyDA,MAAM,UAAU,mBAAmB,CAAI,YAA0B;IAC7D,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAErC,OAAO;QACH,GAAG;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK;YACD,KAAK,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI;YACL,KAAK,GAAG,CAAE,GAAG,KAAK,EAAE,IAAI,CAAE,CAAC;QAC/B,CAAC;QACD,QAAQ,CAAC,SAAS;YACd,KAAK,GAAG,CAAE,GAAG,KAAK,EAAE,GAAG,SAAS,CAAE,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,IAAI;YACP,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS;gBACxC,OAAO,SAAS,KAAK,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QACD,SAAS;YACL,MAAM,CAAE,IAAI,EAAE,GAAG,SAAS,CAAE,GAAG,KAAK,CAAC;YAErC,KAAK,GAAG,SAAS,CAAC;YAElB,OAAO,IAAI,IAAI,IAAI,CAAC;QACxB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO;QACH,MAAM;YACF,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,SAAS;YACL,KAAK,IAAI,CAAC,CAAC;QACf,CAAC;QACD,SAAS;YACL,KAAK,IAAI,CAAC,CAAC;QACf,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,IAAI,OAAO,GAA4B,EAAE,CAAC;IAE1C,OAAO;QACH,MAAM;YACF,MAAM,cAAc,GAAG,OAAO,CAAC;YAE/B,OAAO,GAAG,EAAE,CAAC;YAEb,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACnC,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI;YACN,MAAM,IAAI,OAAO,CAAO,SAAS,aAAa,CAAC,OAAO;gBAClD,OAAO,GAAG,CAAE,GAAG,OAAO,EAAE,OAAO,CAAE,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"worker-pool-dispatch-state.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-dispatch-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { faultReservationKey, uniqueText } from "./worker-pool-dispatch-state.js";
2
+ function unitByKey(units) {
3
+ return new Map(units.map(function toEntry(unit) {
4
+ return [JSON.stringify(unit.id), unit];
5
+ }));
6
+ }
7
+ function knownUnit(units, unitId) {
8
+ const unit = units.get(JSON.stringify(unitId));
9
+ if (unit === undefined) {
10
+ throw new Error('Placement assignment referenced an unknown work unit.');
11
+ }
12
+ return unit;
13
+ }
14
+ export function assignedWorkUnits(plan) {
15
+ const units = unitByKey(plan.units);
16
+ return plan.assignments.map(function toUnit(assignment) {
17
+ return knownUnit(units, assignment.unit);
18
+ });
19
+ }
20
+ export function laneLifecycles(plan) {
21
+ const lifecycles = new Map();
22
+ const units = unitByKey(plan.units);
23
+ for (const assignment of plan.assignments) {
24
+ const unit = knownUnit(units, assignment.unit);
25
+ const existing = lifecycles.get(assignment.lane);
26
+ if (existing !== undefined && existing !== unit.workerLifecycle) {
27
+ throw new Error('Placement lane cannot mix worker lifecycle policies.');
28
+ }
29
+ lifecycles.set(assignment.lane, unit.workerLifecycle);
30
+ }
31
+ return lifecycles;
32
+ }
33
+ function createFaultQuotaLedger(lanes) {
34
+ const quotas = new Map();
35
+ const lanesById = new Map(lanes.map(function toLaneEntry(lane) {
36
+ return [lane.id, lane];
37
+ }));
38
+ return {
39
+ quotas() {
40
+ return quotas;
41
+ },
42
+ record(unit, laneId) {
43
+ const lane = lanesById.get(laneId);
44
+ if (lane === undefined) {
45
+ throw new Error('Placement assignment referenced an unknown lane.');
46
+ }
47
+ for (const faultDomain of uniqueText(unit.resourceConstraints.faultDomains)) {
48
+ const key = faultReservationKey(faultDomain, lane);
49
+ quotas.set(key, (quotas.get(key) ?? 0) + 1);
50
+ }
51
+ }
52
+ };
53
+ }
54
+ export function faultQuotas(plan) {
55
+ const ledger = createFaultQuotaLedger(plan.lanes);
56
+ const units = unitByKey(plan.units);
57
+ for (const assignment of plan.assignments) {
58
+ ledger.record(knownUnit(units, assignment.unit), assignment.lane);
59
+ }
60
+ return ledger.quotas();
61
+ }
62
+ //# sourceMappingURL=worker-pool-dynamic-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool-dynamic-plan.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-dynamic-plan.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { MessageChannel as NodeMessageChannel } from 'node:worker_threads';
2
- import { workIdentityKey } from "../engine/identity.js";
3
2
  import { createStoredRunValue, createSupervisedRunState } from "./supervised-run-state.js";
4
- import { workerPoolExecutionFacts } from "./worker-pool-runtime.js";
5
3
  import { createWorkDispatcher } from "./worker-pool-work-dispatcher.js";
6
4
  import { recordCancelledHedgedTaskRun, recordCompletedHedgedTaskRun, unitCanUseBufferedHedging } from "./worker-pool-hedged-arbitration.js";
7
- import { clearTaskTimeout, handleWorkerMessage, recordTaskCrash, recordTaskPermissionFailure } from "./worker-pool-task-events.js";
5
+ import { clearTaskTimeout, finishCompletedLease, finishFailedLease, handleWorkerMessage, recordTaskCrash, recordTaskPermissionFailure } from "./worker-pool-task-events.js";
6
+ import { acquireWorkerPoolResourceLifecycle, createWorkerPoolBatchRunCommand, disposeWorkerPoolResourceLifecycles, workerPoolWorkHasStarted } from "./worker-pool-resource-lifecycle-execution.js";
8
7
  const maximumCrashCount = 3;
9
8
  function createReporterEventBuffer() {
10
9
  const events = [];
@@ -31,65 +30,12 @@ function observeTaskMessages(taskRun, runtime) {
31
30
  });
32
31
  return {
33
32
  close() {
33
+ port1.close();
34
34
  port2.close();
35
35
  },
36
36
  port: port1
37
37
  };
38
38
  }
39
- function workerPoolEngine(runtime) {
40
- if (runtime.resolvedRun.engine.kind === 'instance') {
41
- throw new Error('Instance engines are not supported with worker-pool execution. Use a module engine.');
42
- }
43
- return runtime.resolvedRun.engine;
44
- }
45
- function unitPaths(unit) {
46
- return Array.from(new Set(unit.work.map(function toFile(work) {
47
- if (work.case.file === null) {
48
- throw new Error('Worker-pool work units require file-backed cases.');
49
- }
50
- return work.case.file;
51
- })));
52
- }
53
- function memberPaths(members) {
54
- return Array.from(new Set(members.flatMap(function toPaths(member) {
55
- return unitPaths(member.unit);
56
- })));
57
- }
58
- function createRunCommand(runtime, unit) {
59
- const execution = workerPoolExecutionFacts(runtime.resolvedRun);
60
- return {
61
- collectionTimeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.collectionMilliseconds,
62
- cwd: runtime.resolvedRun.cwd,
63
- definitionLocationCapture: 'disabled',
64
- engine: workerPoolEngine(runtime),
65
- hardTimeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.hardMilliseconds,
66
- hostProcess: execution.hostProcess.kind === 'direct'
67
- ? { kind: 'direct' }
68
- : {
69
- kind: 'child',
70
- nodeArguments: Array.from(execution.hostProcess.nodeArguments)
71
- },
72
- paths: unitPaths(unit),
73
- resourceBudgets: runtime.resolvedRun.facts.execution.resourceUsagePolicy.budgets,
74
- resourceUsageSamplingIntervalMilliseconds: runtime
75
- .resolvedRun
76
- .facts
77
- .execution
78
- .resourceUsagePolicy
79
- .samplingIntervalMilliseconds,
80
- scheduling: unit.scheduling,
81
- testFamily: runtime.resolvedRun.facts.execution.testFamily,
82
- timeoutMilliseconds: runtime.resolvedRun.facts.execution.timeoutPolicy.softMilliseconds,
83
- workerLifecycle: unit.workerLifecycle
84
- };
85
- }
86
- function createBatchRunCommand(runtime, members) {
87
- const [first] = members;
88
- return {
89
- ...createRunCommand(runtime, first.unit),
90
- paths: memberPaths(members)
91
- };
92
- }
93
39
  function isWorkerPoolRunOutput(value) {
94
40
  return value !== null &&
95
41
  typeof value === 'object' &&
@@ -104,10 +50,14 @@ async function runWorkerTask(request) {
104
50
  return { traceUnit: member.traceUnit, work: member.unit.work };
105
51
  }),
106
52
  assignedWork,
107
- command: createBatchRunCommand(request.runtime, request.taskRun.members),
53
+ boundaryUseCounts: [],
54
+ command: createWorkerPoolBatchRunCommand(request.runtime, request.taskRun.members),
108
55
  kind: 'run',
109
56
  lane: request.lane.id,
57
+ lifecycle: request.runtime.lifecycle,
110
58
  port: request.channel.port,
59
+ projectedResources: request.resourceLifecycle.projectedResources,
60
+ runWork: request.resourceLifecycle.runWork,
111
61
  startedAtMilliseconds: request.startedAtMilliseconds
112
62
  }, {
113
63
  name: 'runTask',
@@ -119,10 +69,10 @@ async function runWorkerTask(request) {
119
69
  }
120
70
  return output;
121
71
  }
122
- async function runFileUnit(taskRun, runtime, lane, startedAtMilliseconds) {
123
- const channel = observeTaskMessages(taskRun, runtime);
72
+ async function runFileUnit(request) {
73
+ const channel = observeTaskMessages(request.taskRun, request.runtime);
124
74
  try {
125
- return await runWorkerTask({ channel, lane, runtime, startedAtMilliseconds, taskRun });
75
+ return await runWorkerTask({ ...request, channel });
126
76
  }
127
77
  finally {
128
78
  channel.close();
@@ -150,7 +100,7 @@ function createTaskRun(lease, runtime) {
150
100
  }
151
101
  function pendingMember(member, taskRun) {
152
102
  const work = member.unit.work.filter(function caseHasNotStarted(item) {
153
- return !taskRun.startedCases.has(workIdentityKey(item));
103
+ return !workerPoolWorkHasStarted(taskRun.startedCases, item);
154
104
  });
155
105
  const firstWork = work[0];
156
106
  return firstWork === undefined
@@ -177,6 +127,7 @@ function recordRunCrash(runtime, message, cause) {
177
127
  attributedTo: null,
178
128
  attributedToWork: null,
179
129
  cause,
130
+ diagnostics: [],
180
131
  message,
181
132
  subtype: 'crash'
182
133
  });
@@ -281,9 +232,15 @@ function recordBatchCompleted(taskRun, runtime) {
281
232
  }
282
233
  async function recordCompletedTaskRun(taskRun, lease, context) {
283
234
  recordBatchStarted(taskRun, context.runtime);
284
- const output = await runFileUnit(taskRun, context.runtime, lease.lane, context.startedAtMilliseconds);
235
+ const output = await runFileUnit({
236
+ taskRun,
237
+ lane: lease.lane,
238
+ resourceLifecycle: context.resourceLifecycle,
239
+ runtime: context.runtime,
240
+ startedAtMilliseconds: context.startedAtMilliseconds
241
+ });
285
242
  recordBatchCompleted(taskRun, context.runtime);
286
- context.dispatcher.finish(lease, lease.kind === 'primary');
243
+ finishCompletedLease(context.dispatcher, lease);
287
244
  if (!taskRun.reporterEventsBuffered) {
288
245
  context.runtime.taskResults.push(...output.results.map(function toResult(result) {
289
246
  return result.result;
@@ -295,17 +252,11 @@ async function recordCompletedTaskRun(taskRun, lease, context) {
295
252
  await recordCompletedHedgedTaskRun(context.authorities, firstResult, taskRun, context.runtime);
296
253
  }
297
254
  }
298
- function taskRunKeepsLeaseReservation(taskRun, lease) {
299
- return lease.kind === 'primary' && taskRun.startedCases.size > 0;
300
- }
301
- function finishFailedTaskRun(taskRun, lease, context) {
302
- context.dispatcher.finish(lease, taskRunKeepsLeaseReservation(taskRun, lease));
303
- }
304
255
  function finishAfterHostRunnerErrors(taskRun, lease, context) {
305
256
  if (!handleHostRunnerErrors(takeHostRunnerErrors(context.runtime), context)) {
306
257
  return false;
307
258
  }
308
- finishFailedTaskRun(taskRun, lease, context);
259
+ finishFailedLease(context.dispatcher, taskRun, lease);
309
260
  return true;
310
261
  }
311
262
  function recordCancelledTaskRun(taskRun, context) {
@@ -318,7 +269,7 @@ function recordFailedTaskRun(error, taskRun, lease, context) {
318
269
  return;
319
270
  }
320
271
  const pending = handleTaskFailure(error, taskRun, context);
321
- finishFailedTaskRun(taskRun, lease, context);
272
+ finishFailedLease(context.dispatcher, taskRun, lease);
322
273
  recordCancelledTaskRun(taskRun, context);
323
274
  for (const member of pending) {
324
275
  context.dispatcher.requeue({ traceUnit: member.traceUnit, unit: member.unit });
@@ -353,22 +304,41 @@ async function runWorkerLoop(context) {
353
304
  }
354
305
  }
355
306
  }
356
- export async function executeWorkerPoolUnits(runtime, placementPlan, startedAtMilliseconds) {
307
+ async function createWorkerPoolExecutionContext(runtime, placementPlan, startedAtMilliseconds) {
357
308
  const completedTaskRuns = [];
358
- const authorities = new Map();
359
- const crashCount = createStoredRunValue(0);
360
- const dispatcher = createWorkDispatcher(runtime, placementPlan);
361
- await Promise.all(placementPlan.lanes.map(async function runLoop(lane) {
362
- await runWorkerLoop({
309
+ const resourceLifecycle = await acquireWorkerPoolResourceLifecycle(runtime, placementPlan);
310
+ return {
311
+ completedTaskRuns,
312
+ context: {
313
+ authorities: new Map(),
363
314
  completedTaskRuns,
364
- authorities,
365
- crashCount,
366
- dispatcher,
367
- lane,
315
+ crashCount: createStoredRunValue(0),
316
+ dispatcher: createWorkDispatcher(runtime, placementPlan),
317
+ placementPlan,
318
+ resourceLifecycle,
368
319
  runtime,
369
320
  startedAtMilliseconds
370
- });
321
+ }
322
+ };
323
+ }
324
+ async function runPlacementLanes(context) {
325
+ await Promise.all(context.placementPlan.lanes.map(async function runLoop(lane) {
326
+ await runWorkerLoop({ ...context, lane });
371
327
  }));
328
+ }
329
+ async function runPlacementLanesWhenActive(context) {
330
+ if (!context.runtime.terminalFailure.read()) {
331
+ await runPlacementLanes(context);
332
+ }
333
+ }
334
+ export async function executeWorkerPoolUnits(runtime, placementPlan, startedAtMilliseconds) {
335
+ const { completedTaskRuns, context } = await createWorkerPoolExecutionContext(runtime, placementPlan, startedAtMilliseconds);
336
+ try {
337
+ await runPlacementLanesWhenActive(context);
338
+ }
339
+ finally {
340
+ await disposeWorkerPoolResourceLifecycles(runtime, placementPlan, context.resourceLifecycle);
341
+ }
372
342
  return completedTaskRuns;
373
343
  }
374
344
  //# sourceMappingURL=worker-pool-execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool-execution.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool-execution.js","sourceRoot":"","sources":["../../../../source/run/worker-pool-execution.ts"],"names":[],"mappings":"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"}