@mutmutco/cli 4.6.10 → 4.6.12
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 +1201 -733
- package/dist/runbook-sweep.cjs +32 -8
- package/package.json +1 -1
package/dist/runbook-sweep.cjs
CHANGED
|
@@ -363,13 +363,7 @@ async function ghFilingAppEnv(file, args, requireApp = false) {
|
|
|
363
363
|
if (!ghWriteTokenProvider || !/(^|[\\/])gh(\.exe)?$/i.test(file) || !requireApp && process.env.MMI_ACTOR?.trim() === "personal") return void 0;
|
|
364
364
|
if (!isAppFilingWrite(args)) return void 0;
|
|
365
365
|
const explicitApp = requireApp || process.env.MMI_ACTOR?.trim() === "app";
|
|
366
|
-
|
|
367
|
-
try {
|
|
368
|
-
token = await ghWriteTokenProvider();
|
|
369
|
-
} catch (e) {
|
|
370
|
-
if (explicitApp) throw e;
|
|
371
|
-
return void 0;
|
|
372
|
-
}
|
|
366
|
+
const token = await ghWriteTokenProvider();
|
|
373
367
|
if (!token && explicitApp) {
|
|
374
368
|
throw new Error("app actor: filing write token unavailable \u2014 refusing personal-token fallback under MMI_ACTOR=app");
|
|
375
369
|
}
|
|
@@ -461,7 +455,7 @@ var init_cli_shared = __esm({
|
|
|
461
455
|
try {
|
|
462
456
|
return await tag(run(appEnv), "app_installation");
|
|
463
457
|
} catch (e) {
|
|
464
|
-
if (shouldRetryIntegrationRefusalOnAmbient(e)) return tag(run(), ambient);
|
|
458
|
+
if (!reportsCredential && shouldRetryIntegrationRefusalOnAmbient(e)) return tag(run(), ambient);
|
|
465
459
|
throw e;
|
|
466
460
|
}
|
|
467
461
|
};
|
|
@@ -8547,6 +8541,36 @@ var DEPLOY_MODEL_SET = new Set(DEPLOY_MODELS);
|
|
|
8547
8541
|
var RELEASE_TRACK_SET = new Set(RELEASE_TRACKS);
|
|
8548
8542
|
var REQUIRED_CHECK_BRANCH_SET = new Set(REQUIRED_CHECK_BRANCHES);
|
|
8549
8543
|
|
|
8544
|
+
// src/bootstrap-apply.ts
|
|
8545
|
+
var LEGACY_RC_REUSE_STEP_YAML = String.raw`
|
|
8546
|
+
# #8206: keep a fresh successful tag gate; promote the exact development verdict, not a ref.
|
|
8547
|
+
- name: Reuse development gate for rc tag
|
|
8548
|
+
id: development-gate
|
|
8549
|
+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
|
8550
|
+
with:
|
|
8551
|
+
script: |
|
|
8552
|
+
core.setOutput('reuse', 'false');
|
|
8553
|
+
if (context.eventName !== 'push' || !/^refs\/tags\/v.+-rc\.\d+$/.test(context.ref) || !/^[0-9a-f]{40}$/.test(context.sha)) return;
|
|
8554
|
+
try {
|
|
8555
|
+
const { data: current } = await github.rest.actions.getWorkflowRun({ ...context.repo, run_id: context.runId });
|
|
8556
|
+
const { data } = await github.rest.actions.listWorkflowRuns({
|
|
8557
|
+
...context.repo, workflow_id: current.workflow_id, branch: 'development',
|
|
8558
|
+
event: 'push', head_sha: context.sha, per_page: 100
|
|
8559
|
+
});
|
|
8560
|
+
// API returns newest first: a newer red/pending rerun must not reuse an older green.
|
|
8561
|
+
const run = data.workflow_runs[0];
|
|
8562
|
+
if (!run || run.head_sha !== context.sha || run.head_branch !== 'development' ||
|
|
8563
|
+
run.event !== 'push' || run.status !== 'completed' || run.conclusion !== 'success') return;
|
|
8564
|
+
const jobs = await github.paginate(github.rest.actions.listJobsForWorkflowRun, {
|
|
8565
|
+
...context.repo, run_id: run.id, filter: 'latest', per_page: 100
|
|
8566
|
+
});
|
|
8567
|
+
if (!jobs.some(job => job.name === 'gate' && job.status === 'completed' && job.conclusion === 'success')) return;
|
|
8568
|
+
core.setOutput('reuse', 'true');
|
|
8569
|
+
core.info('Reusing successful development gate run ' + run.id + ' for exact SHA ' + context.sha);
|
|
8570
|
+
} catch (error) {
|
|
8571
|
+
core.warning('Development gate proof unavailable; running normal gate: ' + error.message);
|
|
8572
|
+
}`;
|
|
8573
|
+
|
|
8550
8574
|
// src/train-apply-contracts.ts
|
|
8551
8575
|
function isCentralDispatchModel(model) {
|
|
8552
8576
|
return model === "tenant-container" || model === "solo-container" || model === "static-cdn";
|
package/package.json
CHANGED