@mutmutco/cli 4.5.5 → 4.5.6
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 +12 -13
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -15190,9 +15190,9 @@ async function foldReleaseVersion(deps, model, tag, foldPaths, sourceCommit = "H
|
|
|
15190
15190
|
if (restored) foldNoteExtra = `; ${restored}`;
|
|
15191
15191
|
}
|
|
15192
15192
|
} else {
|
|
15193
|
-
await installAppFoldDeps(deps);
|
|
15194
15193
|
const refresh = await refreshSharedInstallerDeps(deps);
|
|
15195
15194
|
if (refresh) foldNoteExtra = `; ${refresh}`;
|
|
15195
|
+
await installAppFoldDeps(deps);
|
|
15196
15196
|
await deps.run("npm", ["version", version, "--no-git-tag-version", "--allow-same-version"]);
|
|
15197
15197
|
const patch = Number(version.split(".")[2] ?? "0");
|
|
15198
15198
|
if (model === "registry-publish" && Number.isFinite(patch) && patch > 0) {
|
|
@@ -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.6",
|
|
16002
|
+
tag: "v4.5.6",
|
|
16003
|
+
commit: "5b38ae7f9052",
|
|
16004
|
+
npm: "@mutmutco/cli@4.5.6"
|
|
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.6"
|
|
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.6 and redeploy the Hub Lambda from tag v4.5.6 (5b38ae7f9052); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
16028
|
+
v3Target: "v4.5.6 (@mutmutco/cli@4.5.6, tag commit 5b38ae7f9052 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
16029
16029
|
}
|
|
16030
16030
|
},
|
|
16031
16031
|
{
|
|
@@ -18943,9 +18943,10 @@ function matchesTarget(environment, target) {
|
|
|
18943
18943
|
const production = environment.toLowerCase().startsWith("production");
|
|
18944
18944
|
return target === "production" ? production : !production;
|
|
18945
18945
|
}
|
|
18946
|
-
async function readOne(api, repo, id) {
|
|
18946
|
+
async function readOne(api, repo, id, since) {
|
|
18947
18947
|
const statuses = await api(`repos/${repo}/deployments/${id}/statuses?per_page=10`);
|
|
18948
|
-
const
|
|
18948
|
+
const all = Array.isArray(statuses) ? statuses : [];
|
|
18949
|
+
const rows = since === void 0 ? all : all.filter((st) => !(Date.parse(str(st.created_at) ?? "") < since));
|
|
18949
18950
|
const latest = rows.find((s) => str(s.state) !== "inactive") ?? rows[0];
|
|
18950
18951
|
const raw = str(latest?.state);
|
|
18951
18952
|
const state = raw === void 0 ? "none" : raw === "inactive" ? "success" : raw;
|
|
@@ -18961,12 +18962,10 @@ async function readVercelDeployment(api, repo, sha, target, since) {
|
|
|
18961
18962
|
for (const d of rows) {
|
|
18962
18963
|
const env = str(d.environment) ?? "";
|
|
18963
18964
|
if (typeof d.id !== "number" || !matchesTarget(env, target) || newest.has(env)) continue;
|
|
18964
|
-
const created = Date.parse(str(d.created_at) ?? "");
|
|
18965
|
-
if (since !== void 0 && Number.isFinite(created) && created < since) continue;
|
|
18966
18965
|
newest.set(env, d.id);
|
|
18967
18966
|
}
|
|
18968
18967
|
if (newest.size === 0) return void 0;
|
|
18969
|
-
const reads = await Promise.all([...newest].map(async ([env, id]) => ({ env, id, ...await readOne(api, repo, id) })));
|
|
18968
|
+
const reads = await Promise.all([...newest].map(async ([env, id]) => ({ env, id, ...await readOne(api, repo, id, since) })));
|
|
18970
18969
|
const failed = reads.find((r) => FAILED.has(r.state));
|
|
18971
18970
|
const unfinished = reads.find((r) => !isTerminalVercelState(r.state));
|
|
18972
18971
|
const pick = failed ?? unfinished ?? reads[0];
|
package/package.json
CHANGED