@hs-x/cli 0.4.9 → 0.4.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAGL,KAAK,cAAc,EASpB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EAEnB,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqB,MAAM,EAAE,OAAO,EAAkC,MAAM,aAAa,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAuFxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAsLzC;;;;;;;;;;;;;;GAcG;AACH,0EAA0E;AAC1E,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAC,CAiCD;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAOd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -571,6 +571,7 @@ function createDeployProgress(input) {
|
|
|
571
571
|
},
|
|
572
572
|
fail: (detail) => {
|
|
573
573
|
tally.fail += 1;
|
|
574
|
+
input.onStepFail?.(label, detail);
|
|
574
575
|
handle.fail(detail);
|
|
575
576
|
},
|
|
576
577
|
warn: (detail) => {
|
|
@@ -582,6 +583,54 @@ function createDeployProgress(input) {
|
|
|
582
583
|
counts: () => ({ ...tally }),
|
|
583
584
|
};
|
|
584
585
|
}
|
|
586
|
+
function createDeployFailureSink() {
|
|
587
|
+
let context;
|
|
588
|
+
let projectId;
|
|
589
|
+
let deployId;
|
|
590
|
+
let failure;
|
|
591
|
+
let flushed = false;
|
|
592
|
+
return {
|
|
593
|
+
arm(next) {
|
|
594
|
+
context = next;
|
|
595
|
+
},
|
|
596
|
+
setProject(next) {
|
|
597
|
+
projectId = next;
|
|
598
|
+
},
|
|
599
|
+
setDeployId(next) {
|
|
600
|
+
deployId = next;
|
|
601
|
+
},
|
|
602
|
+
noteStepFailure(step, detail) {
|
|
603
|
+
if (!failure)
|
|
604
|
+
failure = { step, ...(detail ? { detail } : {}) };
|
|
605
|
+
},
|
|
606
|
+
async flush(fallbackDetail) {
|
|
607
|
+
if (flushed || !context || !projectId)
|
|
608
|
+
return;
|
|
609
|
+
flushed = true;
|
|
610
|
+
try {
|
|
611
|
+
const provenance = await collectDeployProvenance(context.userId);
|
|
612
|
+
await hostedHttp({
|
|
613
|
+
url: new URL('/v1/deploys/failures', context.controlPlaneUrl),
|
|
614
|
+
method: 'POST',
|
|
615
|
+
headers: await controlPlaneAuthHeaders(context.userId, undefined, context.accountId),
|
|
616
|
+
body: {
|
|
617
|
+
accountId: context.accountId,
|
|
618
|
+
projectId,
|
|
619
|
+
...(deployId ? { deployId } : {}),
|
|
620
|
+
failedStep: failure?.step ?? 'deploy',
|
|
621
|
+
errorExcerpt: (failure?.detail ?? fallbackDetail).slice(0, 2000),
|
|
622
|
+
...(provenance.gitCommit ? { gitCommit: provenance.gitCommit } : {}),
|
|
623
|
+
...(provenance.gitBranch ? { gitBranch: provenance.gitBranch } : {}),
|
|
624
|
+
...(provenance.cliVersion ? { cliVersion: provenance.cliVersion } : {}),
|
|
625
|
+
},
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
catch {
|
|
629
|
+
// Best-effort; the deploy's own failure is the outcome that matters.
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
};
|
|
633
|
+
}
|
|
585
634
|
/** ADR-007 source summaries for the human transcript (`Sources: …`). */
|
|
586
635
|
function workerSourceSummaries(workers) {
|
|
587
636
|
return workers.flatMap((worker) => worker.capabilities.flatMap((capability) => capability.kind === 'sync' && capability.source
|
|
@@ -1047,6 +1096,23 @@ async function executeHubSpotDirectDeployCommand({ argv, root, json, }) {
|
|
|
1047
1096
|
}
|
|
1048
1097
|
}
|
|
1049
1098
|
export async function deployCommand({ argv, root, json, }) {
|
|
1099
|
+
// Failure boundary: a linked deploy that dies — thrown or via a non-zero
|
|
1100
|
+
// exit — reports itself to the control plane (deploy-failed email) before
|
|
1101
|
+
// the error propagates. Ctrl-C (130) is not a failure.
|
|
1102
|
+
const failureSink = createDeployFailureSink();
|
|
1103
|
+
try {
|
|
1104
|
+
const result = await runDeploy({ argv, root, json, failureSink });
|
|
1105
|
+
if (result.exitCode !== 0 && result.exitCode !== 130) {
|
|
1106
|
+
await failureSink.flush(`deploy failed (exit ${result.exitCode})`);
|
|
1107
|
+
}
|
|
1108
|
+
return result;
|
|
1109
|
+
}
|
|
1110
|
+
catch (error) {
|
|
1111
|
+
await failureSink.flush(firstErrorLine(error));
|
|
1112
|
+
throw error;
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
async function runDeploy({ argv, root, json, failureSink, }) {
|
|
1050
1116
|
// Stamp the whole invocation up front: the human summary reporter is created
|
|
1051
1117
|
// late (render time), so without this "Deployed … in 1ms" measured only the
|
|
1052
1118
|
// summary step rather than the deploy itself.
|
|
@@ -1083,7 +1149,13 @@ export async function deployCommand({ argv, root, json, }) {
|
|
|
1083
1149
|
// `echo` additionally gates the inline info/warn stream to human/plain: the
|
|
1084
1150
|
// ndjson stream keeps emitting those lines from the final summary (its
|
|
1085
1151
|
// pre-existing event order), so wiring steps stays purely additive there.
|
|
1086
|
-
const progress = json
|
|
1152
|
+
const progress = json
|
|
1153
|
+
? undefined
|
|
1154
|
+
: createDeployProgress({
|
|
1155
|
+
argv,
|
|
1156
|
+
startedAt: commandStartedAt,
|
|
1157
|
+
onStepFail: (step, detail) => failureSink.noteStepFailure(step, detail),
|
|
1158
|
+
});
|
|
1087
1159
|
const echo = progress && progress.reporter.mode !== 'ndjson' ? progress.reporter : undefined;
|
|
1088
1160
|
progress?.reporter.header(basename(root));
|
|
1089
1161
|
const planOnly = argv.includes('--plan') || argv.includes('--dry-run');
|
|
@@ -1132,8 +1204,15 @@ export async function deployCommand({ argv, root, json, }) {
|
|
|
1132
1204
|
progress?.reporter.warn('HSX_W_DEPLOY_ACCOUNT_OVERRIDE', `This project is bound to ${resolvedAcct.overrodeBinding}; deploying under ${accountId} for this run only (binding unchanged).`);
|
|
1133
1205
|
}
|
|
1134
1206
|
}
|
|
1207
|
+
// Failure reports only make sense for a linked deploy headed at a hosted
|
|
1208
|
+
// control plane; a plan/no-record run never emails.
|
|
1209
|
+
if (linked && controlPlaneUrl && accountId && !planOnly && !noRecord) {
|
|
1210
|
+
failureSink.arm({ controlPlaneUrl, userId, accountId });
|
|
1211
|
+
}
|
|
1135
1212
|
const explicitProjectId = resolveFlag(argv, '--project-id') ?? process.env.HSX_PROJECT_ID;
|
|
1136
1213
|
let projectId = explicitProjectId;
|
|
1214
|
+
if (projectId)
|
|
1215
|
+
failureSink.setProject(projectId);
|
|
1137
1216
|
const validateStep = progress?.step('Validating project');
|
|
1138
1217
|
const validation = await validateProject({ root });
|
|
1139
1218
|
const workers = await discoverWorkerManifests(root, { noManageSchema });
|
|
@@ -1388,6 +1467,8 @@ export async function deployCommand({ argv, root, json, }) {
|
|
|
1388
1467
|
});
|
|
1389
1468
|
}
|
|
1390
1469
|
}
|
|
1470
|
+
if (controlPlaneRequest)
|
|
1471
|
+
failureSink.setProject(controlPlaneRequest.projectId);
|
|
1391
1472
|
if (echo && controlPlaneRequest) {
|
|
1392
1473
|
echo.info(`Control plane: ready to POST /v1/deploys/plan for ${controlPlaneRequest.projectId}`);
|
|
1393
1474
|
}
|
|
@@ -1423,6 +1504,8 @@ export async function deployCommand({ argv, root, json, }) {
|
|
|
1423
1504
|
const controlPlaneBackedPlan = Boolean(controlPlanePlan && controlPlaneRequest && (localControlPlane || controlPlaneUrl));
|
|
1424
1505
|
const unlinkedDeployPlan = Boolean(controlPlanePlan && !controlPlaneBackedPlan);
|
|
1425
1506
|
if (controlPlanePlan) {
|
|
1507
|
+
if (controlPlaneBackedPlan)
|
|
1508
|
+
failureSink.setDeployId(controlPlanePlan.deployId);
|
|
1426
1509
|
controlPlanePlanStep?.ok(controlPlanePlan.deployId);
|
|
1427
1510
|
if (echo) {
|
|
1428
1511
|
if (unlinkedDeployPlan)
|