rampway 0.5.28 → 0.5.30
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/README.md +34 -9
- package/build/src/cli.d.ts.map +1 -1
- package/build/src/cli.js +69 -2
- package/build/src/cli.js.map +1 -1
- package/build/src/commands/deploy.d.ts +4 -2
- package/build/src/commands/deploy.d.ts.map +1 -1
- package/build/src/commands/deploy.js +117 -26
- package/build/src/commands/deploy.js.map +1 -1
- package/build/src/commands/recover-generation-transition.d.ts +6 -0
- package/build/src/commands/recover-generation-transition.d.ts.map +1 -0
- package/build/src/commands/recover-generation-transition.js +18 -0
- package/build/src/commands/recover-generation-transition.js.map +1 -0
- package/build/src/core/command-error.d.ts +60 -0
- package/build/src/core/command-error.d.ts.map +1 -0
- package/build/src/core/command-error.js +106 -0
- package/build/src/core/command-error.js.map +1 -0
- package/build/src/core/deploy-log.d.ts.map +1 -1
- package/build/src/core/deploy-log.js +5 -6
- package/build/src/core/deploy-log.js.map +1 -1
- package/build/src/core/deploy-runner.d.ts.map +1 -1
- package/build/src/core/deploy-runner.js +241 -84
- package/build/src/core/deploy-runner.js.map +1 -1
- package/build/src/core/git-source.d.ts.map +1 -1
- package/build/src/core/git-source.js +3 -2
- package/build/src/core/git-source.js.map +1 -1
- package/build/src/core/hooks.d.ts +4 -2
- package/build/src/core/hooks.d.ts.map +1 -1
- package/build/src/core/hooks.js +4 -3
- package/build/src/core/hooks.js.map +1 -1
- package/build/src/core/recover-generation-transition.d.ts +17 -0
- package/build/src/core/recover-generation-transition.d.ts.map +1 -0
- package/build/src/core/recover-generation-transition.js +91 -0
- package/build/src/core/recover-generation-transition.js.map +1 -0
- package/build/src/core/release-manager.d.ts +43 -0
- package/build/src/core/release-manager.d.ts.map +1 -1
- package/build/src/core/release-manager.js +162 -1
- package/build/src/core/release-manager.js.map +1 -1
- package/build/src/core/reporter.d.ts +52 -9
- package/build/src/core/reporter.d.ts.map +1 -1
- package/build/src/core/reporter.js +104 -10
- package/build/src/core/reporter.js.map +1 -1
- package/build/src/core/runtime-errors.d.ts +4 -4
- package/build/src/core/runtime-errors.d.ts.map +1 -1
- package/build/src/core/runtime-errors.js +14 -2
- package/build/src/core/runtime-errors.js.map +1 -1
- package/build/src/core/task-runner.d.ts +3 -2
- package/build/src/core/task-runner.d.ts.map +1 -1
- package/build/src/core/task-runner.js +6 -6
- package/build/src/core/task-runner.js.map +1 -1
- package/build/src/runtimes/compose-runtime.d.ts.map +1 -1
- package/build/src/runtimes/compose-runtime.js +3 -2
- package/build/src/runtimes/compose-runtime.js.map +1 -1
- package/build/src/runtimes/none-runtime.d.ts +2 -0
- package/build/src/runtimes/none-runtime.d.ts.map +1 -1
- package/build/src/runtimes/none-runtime.js +4 -0
- package/build/src/runtimes/none-runtime.js.map +1 -1
- package/build/src/runtimes/rollbridge-runtime.d.ts +36 -3
- package/build/src/runtimes/rollbridge-runtime.d.ts.map +1 -1
- package/build/src/runtimes/rollbridge-runtime.js +136 -32
- package/build/src/runtimes/rollbridge-runtime.js.map +1 -1
- package/build/src/test-helpers.d.ts +4 -2
- package/build/src/test-helpers.d.ts.map +1 -1
- package/build/src/test-helpers.js +5 -5
- package/build/src/test-helpers.js.map +1 -1
- package/build/src/transports/local-transport.d.ts.map +1 -1
- package/build/src/transports/local-transport.js +21 -4
- package/build/src/transports/local-transport.js.map +1 -1
- package/build/src/transports/ssh-transport.d.ts.map +1 -1
- package/build/src/transports/ssh-transport.js +50 -13
- package/build/src/transports/ssh-transport.js.map +1 -1
- package/build/src/types.d.ts +34 -1
- package/build/src/types.d.ts.map +1 -1
- package/build/src/velocious/client.d.ts +4 -1
- package/build/src/velocious/client.d.ts.map +1 -1
- package/build/src/velocious/client.js +20 -4
- package/build/src/velocious/client.js.map +1 -1
- package/build/src/velocious/sanitize.d.ts +4 -1
- package/build/src/velocious/sanitize.d.ts.map +1 -1
- package/build/src/velocious/sanitize.js +15 -3
- package/build/src/velocious/sanitize.js.map +1 -1
- package/docs/config-reference.md +24 -2
- package/docs/failed-generation-recovery.md +44 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -107,6 +107,7 @@ rampway production runtime-validate
|
|
|
107
107
|
rampway production runtime-status
|
|
108
108
|
rampway production runtime-logs
|
|
109
109
|
rampway production runtime-recover --yes
|
|
110
|
+
rampway production runtime-recover-generation-transition <failed-release-id> --yes
|
|
110
111
|
|
|
111
112
|
# Local foreground host-restart entrypoint for the last accepted release
|
|
112
113
|
rampway production runtime-boot --config /absolute/path/rampway.config.mjs
|
|
@@ -115,6 +116,12 @@ rampway production runtime-boot --config /absolute/path/rampway.config.mjs
|
|
|
115
116
|
The older `rollbridge-validate`, `rollbridge-status`, `rollbridge-logs`, and
|
|
116
117
|
`rollbridge-recover` names remain aliases for Rollbridge stages.
|
|
117
118
|
|
|
119
|
+
Use [exact failed-generation recovery](docs/failed-generation-recovery.md) when
|
|
120
|
+
a Rollbridge deploy timed out or failed before publication and retained its
|
|
121
|
+
candidate transition fence. Recovery supports stages without an explicit
|
|
122
|
+
`runtime.config`, and later successful Rollbridge deploys refresh live retained
|
|
123
|
+
release pins before cleanup.
|
|
124
|
+
|
|
118
125
|
### Deploy transports
|
|
119
126
|
|
|
120
127
|
Deploys run over one of three transports selected with `--transport`:
|
|
@@ -131,20 +138,31 @@ Deploys run over one of three transports selected with `--transport`:
|
|
|
131
138
|
Dry runs always use the direct transport and print a plan, regardless of
|
|
132
139
|
`--transport`.
|
|
133
140
|
|
|
134
|
-
###
|
|
141
|
+
### Readable deploy output and automation
|
|
135
142
|
|
|
136
|
-
A normal deploy reports
|
|
143
|
+
A normal deploy reports timed lifecycle progress and a concise result. Full
|
|
144
|
+
shell commands and redacted child stdout/stderr are written to the per-deploy
|
|
145
|
+
log instead of flooding the terminal:
|
|
137
146
|
|
|
138
147
|
```text
|
|
139
148
|
$ rampway production deploy
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
149
|
+
Logging deploy output to /srv/app/log/deploys/20260904123000-production.log
|
|
150
|
+
Deploying app/production revision 4f31c21 as release 20260904123000
|
|
151
|
+
→ Preparing deploy directories
|
|
152
|
+
✓ Preparing deploy directories (0.1s)
|
|
153
|
+
→ Task install
|
|
154
|
+
✓ Task install (8.4s)
|
|
155
|
+
✔ Deployed app/production revision 4f31c21 as release 20260904123000 in 12.7s
|
|
156
|
+
Deploy log: /srv/app/log/deploys/20260904123000-production.log
|
|
145
157
|
```
|
|
146
158
|
|
|
147
|
-
|
|
159
|
+
Set `deployLog: false` explicitly to disable the persistent transcript. Human
|
|
160
|
+
deploys then retain the previous fallback of streaming redacted child output to
|
|
161
|
+
stderr so diagnostics are not discarded.
|
|
162
|
+
|
|
163
|
+
Use `--json` when another program consumes the result. It suppresses lifecycle
|
|
164
|
+
and child output and writes exactly one final JSON report, including for a
|
|
165
|
+
failed deploy:
|
|
148
166
|
|
|
149
167
|
```bash
|
|
150
168
|
rampway production deploy --json > deploy-report.json
|
|
@@ -409,11 +427,18 @@ Every successful deploy, rollback, or resumed publication appends one JSON objec
|
|
|
409
427
|
- `healthChecks: "passed"`
|
|
410
428
|
- sanitized runtime status
|
|
411
429
|
- `cleanupRemoved` release IDs
|
|
430
|
+
- optional `warnings` for non-fatal maintenance failures after runtime acceptance
|
|
412
431
|
|
|
413
432
|
Rollback events include `event: "rollback"`, target `releaseId` and `revision`,
|
|
414
433
|
`rolledBackAt`, `durationMs`, `previousRelease`, `healthChecks: "passed"`, and a
|
|
415
434
|
sanitized runtime result. Reports intentionally record runtime result summaries,
|
|
416
|
-
not runtime configuration or secrets.
|
|
435
|
+
not runtime configuration or secrets. A provisional cleanup-pin removal failure
|
|
436
|
+
is reported as a warning and retained for later reconciliation; it does not turn
|
|
437
|
+
an already-accepted runtime activation into a failed deploy or rollback. Rampway
|
|
438
|
+
stores provisional pins outside accepted runtime state and clears only the pins
|
|
439
|
+
owned by the exact runtime configuration that positively reports its live
|
|
440
|
+
release references. Runtime changes preserve the previous owner's pins, and
|
|
441
|
+
runtimes without reference reporting retain their unresolved pins.
|
|
417
442
|
|
|
418
443
|
Resumed-publication events use `event: "resume-publication"`, `resumedAt`, the
|
|
419
444
|
exact target and previous release identities, `healthChecks: "passed"`, the
|
package/build/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";0CAmBwC,iCAAiC;AA8CzE;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAuBzB;AA+DD;;;;;;;GAOG;AACH,wCAHW,MAAM,EAAE,GACN;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAA;CAAC,CA+C9G"}
|
package/build/src/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ import { deployCommand } from "./commands/deploy.js";
|
|
|
8
8
|
import { releasesCommand, statusCommand } from "./commands/releases.js";
|
|
9
9
|
import { rollbackCommand } from "./commands/rollback.js";
|
|
10
10
|
import { resumePublicationCommand } from "./commands/resume-publication.js";
|
|
11
|
+
import { runtimeRecoverGenerationTransitionCommand } from "./commands/recover-generation-transition.js";
|
|
11
12
|
import { rollbridgeValidateCommand, rollbridgeStatusCommand, rollbridgeLogsCommand, rollbridgeRecoverCommand, runtimeValidateCommand, runtimeStatusCommand, runtimeLogsCommand, runtimeRecoverCommand } from "./commands/rollbridge.js";
|
|
12
13
|
import { tasksCommand } from "./commands/tasks.js";
|
|
13
14
|
import { taskCommand } from "./commands/task.js";
|
|
@@ -17,6 +18,7 @@ import { isValidOperationalTaskName } from "./config/validate-config.js";
|
|
|
17
18
|
import { commandContextFromPrepared, prepareCommandContext } from "./commands/context.js";
|
|
18
19
|
import { withCommandSshCredentials } from "./transports/ssh-credentials.js";
|
|
19
20
|
import { isGitRevision } from "./core/git-source.js";
|
|
21
|
+
import { errorMetadata } from "./core/command-error.js";
|
|
20
22
|
export { withCommandSshCredentials };
|
|
21
23
|
/** @type {Record<string, Function>} */
|
|
22
24
|
const COMMANDS = {
|
|
@@ -38,6 +40,7 @@ const COMMANDS = {
|
|
|
38
40
|
"runtime-status": runtimeStatusCommand,
|
|
39
41
|
"runtime-logs": runtimeLogsCommand,
|
|
40
42
|
"runtime-recover": runtimeRecoverCommand,
|
|
43
|
+
"runtime-recover-generation-transition": runtimeRecoverGenerationTransitionCommand,
|
|
41
44
|
"runtime-boot": runtimeBootCommand,
|
|
42
45
|
doctor: doctorCommand
|
|
43
46
|
};
|
|
@@ -49,12 +52,42 @@ const COMMANDS = {
|
|
|
49
52
|
const STAGELESS_COMMANDS = new Set(["init"]);
|
|
50
53
|
/** @type {string[]} */
|
|
51
54
|
const BOOLEAN_FLAGS = ["yes", "dry-run", "force", "allow-dirty", "json", "ssh-forward-agent"];
|
|
55
|
+
// Node ignores SIGPIPE and reserves SIGUSR1 for the inspector, so re-sending
|
|
56
|
+
// either signal cannot reliably communicate failure to the invoking shell.
|
|
57
|
+
const NON_TERMINATING_SIGNALS = new Set(["SIGPIPE", "SIGUSR1"]);
|
|
52
58
|
const USAGE = "Usage: rampway <environment> <command> [operand] [--config path] (for example: rampway production deploy) OR rampway init";
|
|
53
59
|
/**
|
|
54
60
|
* @param {string[]} argv
|
|
55
61
|
* @returns {Promise<void>}
|
|
56
62
|
*/
|
|
57
63
|
async function main(argv) {
|
|
64
|
+
try {
|
|
65
|
+
await dispatch(argv);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
const jsonDeploy = jsonDeployInvocation(argv);
|
|
69
|
+
const failure = /** @type {Error & {reported?: boolean}} */ (error);
|
|
70
|
+
if (jsonDeploy && !failure.reported) {
|
|
71
|
+
const metadata = errorMetadata(failure);
|
|
72
|
+
process.stdout.write(`${JSON.stringify({
|
|
73
|
+
event: "deploy",
|
|
74
|
+
status: "failed",
|
|
75
|
+
stage: jsonDeploy.stageName,
|
|
76
|
+
step: metadata.step ?? "Deployment",
|
|
77
|
+
error: failure.message,
|
|
78
|
+
...(metadata.exitCode === undefined ? {} : { exitCode: metadata.exitCode }),
|
|
79
|
+
...(metadata.signal === undefined ? {} : { signal: metadata.signal })
|
|
80
|
+
}, null, 2)}\n`);
|
|
81
|
+
failure.reported = true;
|
|
82
|
+
}
|
|
83
|
+
throw failure;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @param {string[]} argv
|
|
88
|
+
* @returns {Promise<void>}
|
|
89
|
+
*/
|
|
90
|
+
async function dispatch(argv) {
|
|
58
91
|
const { command, stageName, options } = resolveInvocation(argv);
|
|
59
92
|
if (!command)
|
|
60
93
|
throw new Error(USAGE);
|
|
@@ -89,6 +122,29 @@ async function main(argv) {
|
|
|
89
122
|
}
|
|
90
123
|
await withCommandSshCredentials(prepared, () => COMMANDS[command]({ stageName, options, commandContext }), { manageSignals: true });
|
|
91
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Recognizes stage-first JSON deploy intent without relying on the full parser,
|
|
127
|
+
* which may itself be the source of the failure being reported.
|
|
128
|
+
*
|
|
129
|
+
* @param {string[]} argv
|
|
130
|
+
* @returns {{stageName: string}|undefined}
|
|
131
|
+
*/
|
|
132
|
+
function jsonDeployInvocation(argv) {
|
|
133
|
+
if (!argv.includes("--json"))
|
|
134
|
+
return undefined;
|
|
135
|
+
const positional = [];
|
|
136
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
137
|
+
const arg = argv[index];
|
|
138
|
+
if (!arg.startsWith("--")) {
|
|
139
|
+
positional.push(arg);
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
const name = arg.slice(2).split("=", 1)[0];
|
|
143
|
+
if (!BOOLEAN_FLAGS.includes(name) && !arg.includes("="))
|
|
144
|
+
index += 1;
|
|
145
|
+
}
|
|
146
|
+
return positional[1] === "deploy" ? { stageName: positional[0] } : undefined;
|
|
147
|
+
}
|
|
92
148
|
/**
|
|
93
149
|
* Resolve raw argv using Capistrano-style stage-first grammar:
|
|
94
150
|
* `rampway <environment> <command> [revision]`. A stageless command such as
|
|
@@ -134,6 +190,14 @@ function resolveInvocation(argv) {
|
|
|
134
190
|
throw new Error(`Command 'resume-publication' does not support option --${toKebab(unsupported[0])}.`);
|
|
135
191
|
options.releaseId = operands[0];
|
|
136
192
|
}
|
|
193
|
+
else if (command === "runtime-recover-generation-transition") {
|
|
194
|
+
if (operands.length !== 1)
|
|
195
|
+
throw new Error("Command 'runtime-recover-generation-transition' requires exactly one failed release ID.");
|
|
196
|
+
const unsupported = Object.keys(options).filter(option => !["config", "json", "sshForwardAgent", "yes"].includes(option));
|
|
197
|
+
if (unsupported.length > 0)
|
|
198
|
+
throw new Error(`Command 'runtime-recover-generation-transition' does not support option --${toKebab(unsupported[0])}.`);
|
|
199
|
+
options.releaseId = operands[0];
|
|
200
|
+
}
|
|
137
201
|
else if (command === "task") {
|
|
138
202
|
if (operands.length !== 1)
|
|
139
203
|
throw new Error("Command 'task' requires exactly one task name.");
|
|
@@ -195,8 +259,11 @@ function toKebab(name) {
|
|
|
195
259
|
const invokedPath = process.argv[1] ? pathToFileURL(realpathSync(process.argv[1])).href : null;
|
|
196
260
|
if (invokedPath && import.meta.url === invokedPath) {
|
|
197
261
|
main(process.argv.slice(2)).catch(error => {
|
|
198
|
-
|
|
199
|
-
|
|
262
|
+
if (!error.reported)
|
|
263
|
+
console.error(error.message);
|
|
264
|
+
if (error.signal && NON_TERMINATING_SIGNALS.has(error.signal))
|
|
265
|
+
process.exitCode = error.exitCode > 0 ? error.exitCode : 1;
|
|
266
|
+
else if (error.signal)
|
|
200
267
|
process.kill(process.pid, error.signal);
|
|
201
268
|
else
|
|
202
269
|
process.exitCode = error.exitCode ?? 1;
|
package/build/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any
|
|
2
|
+
* @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>, deployLogFactory?: typeof openDeployLog}} args
|
|
3
3
|
* @returns {Promise<void>}
|
|
4
4
|
*/
|
|
5
|
-
export function deployCommand({ stageName, options, commandContext, sshCredentialScope }: import("#types").CommandArgs & {
|
|
5
|
+
export function deployCommand({ stageName, options, commandContext, sshCredentialScope, deployLogFactory }: import("#types").CommandArgs & {
|
|
6
6
|
sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>;
|
|
7
|
+
deployLogFactory?: typeof openDeployLog;
|
|
7
8
|
}): Promise<void>;
|
|
9
|
+
import { openDeployLog } from "../core/deploy-log.js";
|
|
8
10
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH,4GAHW,OAAO,QAAQ,EAAE,WAAW,GAAG;IAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,aAAa,CAAA;CAAC,GAC3I,OAAO,CAAC,IAAI,CAAC,CAgJzB;8BA3J2B,uBAAuB"}
|
|
@@ -3,15 +3,17 @@ import { commandContext as defaultCommandContext } from "./context.js";
|
|
|
3
3
|
import { deploy } from "../core/deploy-runner.js";
|
|
4
4
|
import { openDeployLog } from "../core/deploy-log.js";
|
|
5
5
|
import { isSshRepository } from "../core/git-source.js";
|
|
6
|
+
import { redactText } from "../core/redaction.js";
|
|
6
7
|
import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
8
|
+
import { errorMetadata, wrapError } from "../core/command-error.js";
|
|
7
9
|
import { deployViaControlPlane, isFallbackEligible } from "../velocious/client.js";
|
|
8
10
|
const TRANSPORT_CHOICES = new Set(["http", "ssh", "auto"]);
|
|
9
11
|
/**
|
|
10
|
-
* @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any
|
|
12
|
+
* @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>, deployLogFactory?: typeof openDeployLog}} args
|
|
11
13
|
* @returns {Promise<void>}
|
|
12
14
|
*/
|
|
13
|
-
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext, sshCredentialScope }) {
|
|
14
|
-
const reporter = options.json ? jsonReporter() : humanReporter();
|
|
15
|
+
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext, sshCredentialScope, deployLogFactory = openDeployLog }) {
|
|
16
|
+
const reporter = options.json ? jsonReporter() : humanReporter({ showCommands: false });
|
|
15
17
|
const transportChoice = resolveDeployTransportChoice(options);
|
|
16
18
|
const { config, stage, transport } = await commandContext(options, stageName, { reporter });
|
|
17
19
|
if (transportChoice === "http" && !stage.http) {
|
|
@@ -20,9 +22,16 @@ export async function deployCommand({ stageName, options, commandContext = defau
|
|
|
20
22
|
const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
|
|
21
23
|
const sourcePath = options.source ?? process.cwd();
|
|
22
24
|
// A dry run only prints a plan, so there is no deploy transcript worth keeping.
|
|
23
|
-
const deployLog = options.dryRun ? null :
|
|
25
|
+
const deployLog = options.dryRun ? null : deployLogFactory({ config, sourcePath, stageName });
|
|
26
|
+
let deployLogCloseStarted = false;
|
|
27
|
+
const closeDeployLog = async () => {
|
|
28
|
+
if (!deployLog || deployLogCloseStarted)
|
|
29
|
+
return;
|
|
30
|
+
deployLogCloseStarted = true;
|
|
31
|
+
await deployLog.close();
|
|
32
|
+
};
|
|
24
33
|
if (deployLog) {
|
|
25
|
-
reporter.
|
|
34
|
+
reporter.useDeployLog(deployLog.stream);
|
|
26
35
|
// Emitted through the reporter so it records its own path as the log's first
|
|
27
36
|
// line and stays off stdout in `--json` mode.
|
|
28
37
|
reporter.line(`Logging deploy output to ${deployLog.path}`);
|
|
@@ -78,20 +87,81 @@ export async function deployCommand({ stageName, options, commandContext = defau
|
|
|
78
87
|
else {
|
|
79
88
|
report = await directDeploy();
|
|
80
89
|
}
|
|
81
|
-
if (
|
|
90
|
+
if ("plan" in report) {
|
|
82
91
|
console.log(JSON.stringify(report, null, 2));
|
|
83
92
|
return;
|
|
84
93
|
}
|
|
85
|
-
|
|
94
|
+
const deployReport = /** @type {import('#types').DeployReport} */ (report);
|
|
95
|
+
const summary = summaryLines(deployReport, deployLog?.path);
|
|
96
|
+
if (deployLog)
|
|
97
|
+
for (const line of summary)
|
|
98
|
+
reporter.log(line);
|
|
99
|
+
let closeWarning;
|
|
100
|
+
try {
|
|
101
|
+
await closeDeployLog();
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
closeWarning = deployLogCloseWarning(error, /** @type {string} */ (deployLog?.path));
|
|
105
|
+
deployReport.warnings = [...(deployReport.warnings ?? []), closeWarning];
|
|
106
|
+
}
|
|
107
|
+
reporter.attachLogStream(null);
|
|
108
|
+
printSummary(summary, reporter);
|
|
109
|
+
if (closeWarning)
|
|
110
|
+
reporter.line(` ! Warning: ${closeWarning}`);
|
|
111
|
+
if (options.json)
|
|
112
|
+
process.stdout.write(`${JSON.stringify(deployReport, null, 2)}\n`);
|
|
86
113
|
}
|
|
87
114
|
catch (error) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
115
|
+
const primaryCause = /** @type {Error} */ (error);
|
|
116
|
+
const primaryMetadata = errorMetadata(primaryCause);
|
|
117
|
+
if (deployLog && !deployLogCloseStarted) {
|
|
118
|
+
const status = primaryMetadata.signal ? `signal ${primaryMetadata.signal}` : primaryMetadata.exitCode !== undefined ? `exit ${primaryMetadata.exitCode}` : undefined;
|
|
119
|
+
reporter.log(`\nDeploy failed at ${primaryMetadata.step ?? "Deployment"}${status ? ` (${status})` : ""}: ${primaryCause.message}`);
|
|
120
|
+
}
|
|
121
|
+
/** @type {Error|AggregateError} */
|
|
122
|
+
let cause = primaryCause;
|
|
123
|
+
try {
|
|
124
|
+
await closeDeployLog();
|
|
125
|
+
}
|
|
126
|
+
catch (closeError) {
|
|
127
|
+
if (closeError !== primaryCause) {
|
|
128
|
+
cause = new AggregateError([primaryCause, closeError], "Deployment failed and the deploy log could not be closed", { cause: primaryCause });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const metadata = errorMetadata(cause);
|
|
132
|
+
const step = metadata.step ?? "Deployment";
|
|
133
|
+
const status = metadata.signal ? `signal ${metadata.signal}` : metadata.exitCode !== undefined ? `exit ${metadata.exitCode}` : undefined;
|
|
134
|
+
const noLogDiagnostics = !deployLog ? metadata.diagnostics || metadata.output : undefined;
|
|
135
|
+
const reasonText = noLogDiagnostics
|
|
136
|
+
? noLogDiagnostics
|
|
137
|
+
: /** @type {Error & {failureReason?: string}} */ (primaryCause).failureReason ?? primaryCause.message;
|
|
138
|
+
const redactedReason = redactText(reasonText);
|
|
139
|
+
const diagnosticLines = noLogDiagnostics ? redactedReason.split(/\r?\n/u).filter(line => line.trim().length > 0) : [];
|
|
140
|
+
const topLevelDiagnosticLines = diagnosticLines.filter(line => !/^\s/u.test(line));
|
|
141
|
+
const reasonLine = noLogDiagnostics
|
|
142
|
+
? topLevelDiagnosticLines.find(line => /error|fail/iu.test(line)) ?? topLevelDiagnosticLines.at(-1) ?? diagnosticLines.at(-1) ?? ""
|
|
143
|
+
: redactedReason.split("\n", 1)[0];
|
|
144
|
+
const conciseReason = reasonLine.trim().replace(/[.!?]+$/u, "").slice(0, 240);
|
|
145
|
+
const reason = (status && !noLogDiagnostics) || (deployLog && metadata.command) ? "" : `: ${conciseReason}`;
|
|
146
|
+
const summary = `✘ Deploy failed at ${step}${status ? ` (${status})` : ""}${reason}.${deployLog ? ` Deploy log: ${deployLog.path}` : ""}`;
|
|
147
|
+
const failure = /** @type {Error & {reported?: boolean}} */ (wrapError(summary, cause));
|
|
148
|
+
if (options.json) {
|
|
149
|
+
process.stdout.write(`${JSON.stringify({
|
|
150
|
+
event: "deploy",
|
|
151
|
+
status: "failed",
|
|
152
|
+
stage: stageName,
|
|
153
|
+
step,
|
|
154
|
+
error: summary,
|
|
155
|
+
...(metadata.exitCode === undefined ? {} : { exitCode: metadata.exitCode }),
|
|
156
|
+
...(metadata.signal === undefined ? {} : { signal: metadata.signal }),
|
|
157
|
+
...(deployLog ? { deployLog: deployLog.path } : {})
|
|
158
|
+
}, null, 2)}\n`);
|
|
159
|
+
failure.reported = true;
|
|
160
|
+
}
|
|
161
|
+
throw failure;
|
|
91
162
|
}
|
|
92
163
|
finally {
|
|
93
|
-
|
|
94
|
-
await deployLog.close();
|
|
164
|
+
await closeDeployLog();
|
|
95
165
|
}
|
|
96
166
|
}
|
|
97
167
|
/**
|
|
@@ -132,27 +202,48 @@ function transportLabel(transport) {
|
|
|
132
202
|
/**
|
|
133
203
|
* Prints a concise Capistrano-style final summary of a successful deploy.
|
|
134
204
|
*
|
|
205
|
+
* @param {string[]} lines
|
|
206
|
+
* @param {import('../core/reporter.js').Reporter} reporter
|
|
207
|
+
* @returns {void}
|
|
208
|
+
*/
|
|
209
|
+
function printSummary(lines, reporter) {
|
|
210
|
+
for (const line of lines)
|
|
211
|
+
reporter.line(line);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* @param {unknown} error
|
|
215
|
+
* @param {string} logPath
|
|
216
|
+
* @returns {string}
|
|
217
|
+
*/
|
|
218
|
+
function deployLogCloseWarning(error, logPath) {
|
|
219
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
220
|
+
const detail = redactText(message).split("\n", 1)[0].replace(/[.!?]+$/u, "").slice(0, 240);
|
|
221
|
+
return `Deploy log could not be closed${detail ? `: ${detail}` : ""}. Deploy log: ${logPath}`;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
135
224
|
* @param {import('#types').DeployReport} report
|
|
136
225
|
* @param {string} [logPath] Path of the persistent per-deploy log, when written.
|
|
137
|
-
* @returns {
|
|
226
|
+
* @returns {string[]}
|
|
138
227
|
*/
|
|
139
|
-
function
|
|
228
|
+
function summaryLines(report, logPath) {
|
|
140
229
|
const seconds = report.durationMs === undefined ? undefined : (report.durationMs / 1000).toFixed(1);
|
|
230
|
+
const lines = [];
|
|
141
231
|
if (report.coalesced) {
|
|
142
|
-
|
|
143
|
-
|
|
232
|
+
lines.push(`✔ Coalesced ${report.application}/${report.stage} revision ${report.revision} onto release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
233
|
+
}
|
|
234
|
+
else if (report.idempotent) {
|
|
235
|
+
lines.push(`✔ ${report.application}/${report.stage} revision ${report.revision} is already active as release ${report.releaseId}; no release or runtime lifecycle ran`);
|
|
144
236
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
237
|
+
else {
|
|
238
|
+
lines.push(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
239
|
+
if (report.previousRelease)
|
|
240
|
+
lines.push(` Previous release: ${report.previousRelease}`);
|
|
241
|
+
lines.push(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
242
|
+
const removed = report.cleanupRemoved ?? [];
|
|
243
|
+
lines.push(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
148
244
|
}
|
|
149
|
-
console.log(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
150
|
-
if (report.previousRelease)
|
|
151
|
-
console.log(` Previous release: ${report.previousRelease}`);
|
|
152
|
-
console.log(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
153
|
-
const removed = report.cleanupRemoved ?? [];
|
|
154
|
-
console.log(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
155
245
|
if (logPath)
|
|
156
|
-
|
|
246
|
+
lines.push(` Deploy log: ${logPath}`);
|
|
247
|
+
return lines;
|
|
157
248
|
}
|
|
158
249
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {import('#types').CommandArgs} args
|
|
3
|
+
* @returns {Promise<void>}
|
|
4
|
+
*/
|
|
5
|
+
export function runtimeRecoverGenerationTransitionCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=recover-generation-transition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recover-generation-transition.d.ts","sourceRoot":"","sources":["../../../src/commands/recover-generation-transition.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kGAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAWzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { commandContext as defaultCommandContext } from "./context.js";
|
|
2
|
+
import { recoverGenerationTransition } from "../core/recover-generation-transition.js";
|
|
3
|
+
/**
|
|
4
|
+
* @param {import('#types').CommandArgs} args
|
|
5
|
+
* @returns {Promise<void>}
|
|
6
|
+
*/
|
|
7
|
+
export async function runtimeRecoverGenerationTransitionCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
8
|
+
if (!options.yes && stageName === "production")
|
|
9
|
+
throw new Error("Refusing production failed-generation recovery without --yes in non-interactive mode.");
|
|
10
|
+
const { stage, transport } = await commandContext(options, stageName);
|
|
11
|
+
const result = await recoverGenerationTransition({
|
|
12
|
+
releaseId: /** @type {string} */ (options.releaseId),
|
|
13
|
+
stage,
|
|
14
|
+
transport
|
|
15
|
+
});
|
|
16
|
+
console.log(JSON.stringify(result, null, 2));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=recover-generation-transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recover-generation-transition.js","sourceRoot":"","sources":["../../../src/commands/recover-generation-transition.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,2BAA2B,EAAC,MAAM,0CAA0C,CAAA;AAEpF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAC1H,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAA;IACxJ,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAC/C,SAAS,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpD,KAAK;QACL,SAAS;KACV,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a command failure whose human message can stay concise while its
|
|
3
|
+
* redacted command and output remain available to logs and classifiers.
|
|
4
|
+
*
|
|
5
|
+
* @param {{command: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, cause?: unknown, concise?: boolean}} opts
|
|
6
|
+
* @returns {Error & {command: string, output: string, diagnostics?: string, exitCode?: number, signal?: string}}
|
|
7
|
+
*/
|
|
8
|
+
export function commandError({ command, output, diagnostics, exitCode, signal, cause, concise }: {
|
|
9
|
+
command: string;
|
|
10
|
+
output?: string;
|
|
11
|
+
diagnostics?: string;
|
|
12
|
+
exitCode?: number;
|
|
13
|
+
signal?: string;
|
|
14
|
+
cause?: unknown;
|
|
15
|
+
concise?: boolean;
|
|
16
|
+
}): Error & {
|
|
17
|
+
command: string;
|
|
18
|
+
output: string;
|
|
19
|
+
diagnostics?: string;
|
|
20
|
+
exitCode?: number;
|
|
21
|
+
signal?: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Wraps an error with domain context without losing command diagnostics,
|
|
25
|
+
* process status, the failed step, or the causal chain.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} message
|
|
28
|
+
* @param {unknown} cause
|
|
29
|
+
* @returns {Error & {command?: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, step?: string}}
|
|
30
|
+
*/
|
|
31
|
+
export function wrapError(message: string, cause: unknown): Error & {
|
|
32
|
+
command?: string;
|
|
33
|
+
output?: string;
|
|
34
|
+
diagnostics?: string;
|
|
35
|
+
exitCode?: number;
|
|
36
|
+
signal?: string;
|
|
37
|
+
step?: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Finds structured command/process metadata through wrapper causes.
|
|
41
|
+
*
|
|
42
|
+
* @param {unknown} error
|
|
43
|
+
* @returns {{command?: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, step?: string}}
|
|
44
|
+
*/
|
|
45
|
+
export function errorMetadata(error: unknown): {
|
|
46
|
+
command?: string;
|
|
47
|
+
output?: string;
|
|
48
|
+
diagnostics?: string;
|
|
49
|
+
exitCode?: number;
|
|
50
|
+
signal?: string;
|
|
51
|
+
step?: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Returns all redacted failure text available to internal classifiers.
|
|
55
|
+
*
|
|
56
|
+
* @param {unknown} error
|
|
57
|
+
* @returns {string}
|
|
58
|
+
*/
|
|
59
|
+
export function errorDiagnostics(error: unknown): string;
|
|
60
|
+
//# sourceMappingURL=command-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../../src/core/command-error.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iGAHW;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,GAC9H,KAAK,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAc/G;AAED;;;;;;;GAOG;AACH,mCAJW,MAAM,SACN,OAAO,GACL,KAAK,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAchI;AAED;;;;;GAKG;AACH,qCAHW,OAAO,GACL;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAkBxH;AAED;;;;;GAKG;AACH,wCAHW,OAAO,GACL,MAAM,CAoBlB"}
|