scripts-orchestrator 2.4.0 ā 2.4.1
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/lib/orchestrator.js +11 -1
- package/package.json +1 -1
package/lib/orchestrator.js
CHANGED
|
@@ -225,6 +225,7 @@ export class Orchestrator {
|
|
|
225
225
|
async run() {
|
|
226
226
|
try {
|
|
227
227
|
let hasFailures = false;
|
|
228
|
+
let phaseFailed = false;
|
|
228
229
|
|
|
229
230
|
// Handle both old array format and new phases format
|
|
230
231
|
if (Array.isArray(this.config)) {
|
|
@@ -237,6 +238,15 @@ export class Orchestrator {
|
|
|
237
238
|
} else if (this.config.phases) {
|
|
238
239
|
// New: Run phases sequentially, commands within phases in parallel
|
|
239
240
|
for (const phase of this.config.phases) {
|
|
241
|
+
if (phaseFailed) {
|
|
242
|
+
// Mark all commands in remaining phases as skipped
|
|
243
|
+
phase.parallel.forEach(({ command }) => {
|
|
244
|
+
this.skippedCommands.push(command);
|
|
245
|
+
this.commandTimings.set(command, 0);
|
|
246
|
+
});
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
|
|
240
250
|
this.logger.info(`\nš Starting phase: ${phase.name}`);
|
|
241
251
|
|
|
242
252
|
const tasks = phase.parallel.map((commandConfig) =>
|
|
@@ -248,8 +258,8 @@ export class Orchestrator {
|
|
|
248
258
|
|
|
249
259
|
if (phaseHasFailures) {
|
|
250
260
|
hasFailures = true;
|
|
261
|
+
phaseFailed = true;
|
|
251
262
|
this.logger.error(`ā Phase "${phase.name}" completed with failures`);
|
|
252
|
-
break; // Stop executing remaining phases on failure
|
|
253
263
|
} else {
|
|
254
264
|
this.logger.success(`ā
Phase "${phase.name}" completed successfully`);
|
|
255
265
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scripts-orchestrator",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "A powerful script orchestrator for running parallel commands with dependency management, background processes, and health checks",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|