@mutmutco/cli 4.5.9 → 4.5.11
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/dist/main.cjs +60 -7
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -15998,10 +15998,10 @@ var rollout_plan_default = {
|
|
|
15998
15998
|
note: "The v4.0.0 stamp happens at cut time (D6e #4463); until then the candidate is the origin/development head artifacts (built cli/dist + npm pack), identity proven by dist content hash (D6a)."
|
|
15999
15999
|
},
|
|
16000
16000
|
baseline: {
|
|
16001
|
-
version: "4.5.
|
|
16002
|
-
tag: "v4.5.
|
|
16003
|
-
commit: "
|
|
16004
|
-
npm: "@mutmutco/cli@4.5.
|
|
16001
|
+
version: "4.5.11",
|
|
16002
|
+
tag: "v4.5.11",
|
|
16003
|
+
commit: "3e598c9aa265",
|
|
16004
|
+
npm: "@mutmutco/cli@4.5.11"
|
|
16005
16005
|
},
|
|
16006
16006
|
exitCriterion: "fleet-n-of-n",
|
|
16007
16007
|
hubOnlyShortcut: "forbidden",
|
|
@@ -16018,14 +16018,14 @@ var rollout_plan_default = {
|
|
|
16018
16018
|
repo: "mutmutco/mmi-hub",
|
|
16019
16019
|
role: "canary",
|
|
16020
16020
|
schedule: "train",
|
|
16021
|
-
v3Target: "v4.5.
|
|
16021
|
+
v3Target: "v4.5.11"
|
|
16022
16022
|
}
|
|
16023
16023
|
],
|
|
16024
16024
|
rollbackTrigger: "Any red inside the post-contract soak window: `devops train gate` FAIL attributable to the v4 doors, Hub endpoint health probe failure, a pre-v4 client admitted instead of receiving actionable HTTP 426, or npm consumer install/doctor failure on the v4-only dist.",
|
|
16025
16025
|
rollback: {
|
|
16026
16026
|
independent: true,
|
|
16027
|
-
mechanism: "npm dist-tag latest -> 4.5.
|
|
16028
|
-
v3Target: "v4.5.
|
|
16027
|
+
mechanism: "npm dist-tag latest -> 4.5.11 and redeploy the Hub Lambda from tag v4.5.11 (3e598c9aa265); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
16028
|
+
v3Target: "v4.5.11 (@mutmutco/cli@4.5.11, tag commit 3e598c9aa265 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
16029
16029
|
}
|
|
16030
16030
|
},
|
|
16031
16031
|
{
|
|
@@ -19355,10 +19355,63 @@ async function appendServedChannelProof(deps, input, dispatch) {
|
|
|
19355
19355
|
}
|
|
19356
19356
|
return withProof("success", `${channel.url} reports ${probe.version}`, `served channel moved \u2014 ${channel.url} reports ${probe.version}`);
|
|
19357
19357
|
}
|
|
19358
|
+
async function appendInstallHomePublish(deps, input, dispatch) {
|
|
19359
|
+
if (isHubControlRepo(input.repo) || !input.installer || input.installer.family !== "mmi") return dispatch;
|
|
19360
|
+
const product = input.installer.product;
|
|
19361
|
+
const remedy = getPublishDispatchCommand(HUB_REPO2, product);
|
|
19362
|
+
const note = (text) => `${dispatch.note}; ${text}`;
|
|
19363
|
+
if (input.publishStatus !== "success") {
|
|
19364
|
+
return { ...dispatch, note: note(`installer home for ${product} NOT published (publish did not succeed) \u2014 after the publish is green, run \`${remedy}\``) };
|
|
19365
|
+
}
|
|
19366
|
+
const since = (deps.now ?? Date.now)();
|
|
19367
|
+
try {
|
|
19368
|
+
await deps.run("gh", ["workflow", "run", "get-publish.yml", "--repo", HUB_REPO2, "--ref", "main", "-f", `product=${product}`]);
|
|
19369
|
+
} catch (e) {
|
|
19370
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
19371
|
+
return {
|
|
19372
|
+
...dispatch,
|
|
19373
|
+
note: note(`installer home publish for ${product} could not be dispatched: ${msg} \u2014 recover with \`${remedy}\``),
|
|
19374
|
+
workflowRuns: [...dispatch.workflowRuns ?? [], planeFailureRow("get-publish.yml", `dispatch refused: ${msg}`)],
|
|
19375
|
+
deployStatus: "failure"
|
|
19376
|
+
};
|
|
19377
|
+
}
|
|
19378
|
+
const correlated = await correlateGetPublishRun(deps, since, product);
|
|
19379
|
+
if (correlated.read === "failed") {
|
|
19380
|
+
return {
|
|
19381
|
+
...dispatch,
|
|
19382
|
+
note: note(`installer home publish for ${product} dispatched, but its run could not be read \u2014 check the Actions tab; recover with \`${remedy}\``),
|
|
19383
|
+
workflowRuns: [...dispatch.workflowRuns ?? [], planeFailureRow("get-publish.yml", "dispatched, but its run could not be read")],
|
|
19384
|
+
deployStatus: "failure"
|
|
19385
|
+
};
|
|
19386
|
+
}
|
|
19387
|
+
const row = { workflow: "get-publish.yml", ...correlated.runId ? { runId: correlated.runId } : {}, ...correlated.runUrl ? { runUrl: correlated.runUrl } : {} };
|
|
19388
|
+
if (!input.watch) {
|
|
19389
|
+
return {
|
|
19390
|
+
...dispatch,
|
|
19391
|
+
note: note(`dispatched get-publish.yml (product=${product}) \u2014 NOT watched, so the installer home is not yet proven published`),
|
|
19392
|
+
workflowRuns: [...dispatch.workflowRuns ?? [], { ...row, conclusion: "pending" }]
|
|
19393
|
+
};
|
|
19394
|
+
}
|
|
19395
|
+
const status = await watchTenantRun(deps, correlated.runId, HUB_REPO2);
|
|
19396
|
+
if (status !== "success") {
|
|
19397
|
+
return {
|
|
19398
|
+
...dispatch,
|
|
19399
|
+
note: note(`get-publish.yml (product=${product}) ${status} \u2014 the INSTALLER HOME IS UNCHANGED; recover with \`${remedy}\``),
|
|
19400
|
+
workflowRuns: [...dispatch.workflowRuns ?? [], { ...row, conclusion: status }],
|
|
19401
|
+
deployStatus: "failure"
|
|
19402
|
+
};
|
|
19403
|
+
}
|
|
19404
|
+
return {
|
|
19405
|
+
...dispatch,
|
|
19406
|
+
note: note(`installer home published for ${product} (get-publish.yml green)`),
|
|
19407
|
+
workflowRuns: [...dispatch.workflowRuns ?? [], { ...row, conclusion: "success" }]
|
|
19408
|
+
};
|
|
19409
|
+
}
|
|
19358
19410
|
async function appendServedChannelLegs(deps, input, dispatch) {
|
|
19359
19411
|
const publishStatus = input.publish?.state === "complete" ? "success" : "failure";
|
|
19360
19412
|
let out = await appendMmiGetRedeploy(deps, { repo: input.repo, publishStatus, watch: input.watch, releaseSha: input.releaseSha }, dispatch);
|
|
19361
19413
|
out = await appendServedChannelPublish(deps, { repo: input.repo, publishStatus, watch: input.watch, releaseSha: input.releaseSha }, out);
|
|
19414
|
+
out = await appendInstallHomePublish(deps, { repo: input.repo, installer: input.installer, publishStatus, watch: input.watch }, out);
|
|
19362
19415
|
return appendServedChannelProof(deps, { repo: input.repo, tag: input.tag, shipped: shipLegsGreen(input.deploy, input.publish), installer: input.installer }, out);
|
|
19363
19416
|
}
|
|
19364
19417
|
function servedChannelRowsAfter(before, after) {
|
package/package.json
CHANGED