rampway 0.5.32 → 0.5.33
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 +44 -0
- package/build/src/cli.d.ts.map +1 -1
- package/build/src/cli.js +18 -4
- package/build/src/cli.js.map +1 -1
- package/build/src/commands/cleanup-releases.d.ts +6 -0
- package/build/src/commands/cleanup-releases.d.ts.map +1 -0
- package/build/src/commands/cleanup-releases.js +34 -0
- package/build/src/commands/cleanup-releases.js.map +1 -0
- package/build/src/commands/deploy.d.ts.map +1 -1
- package/build/src/commands/deploy.js +10 -3
- package/build/src/commands/deploy.js.map +1 -1
- package/build/src/core/deploy-runner.d.ts +16 -1
- package/build/src/core/deploy-runner.d.ts.map +1 -1
- package/build/src/core/deploy-runner.js +147 -7
- package/build/src/core/deploy-runner.js.map +1 -1
- package/build/src/core/release-manager.d.ts +52 -1
- package/build/src/core/release-manager.d.ts.map +1 -1
- package/build/src/core/release-manager.js +203 -9
- package/build/src/core/release-manager.js.map +1 -1
- package/build/src/types.d.ts +69 -1
- package/build/src/types.d.ts.map +1 -1
- package/docs/config-reference.md +2 -2
- package/docs/release-publication-contract.md +34 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ This initial scaffold includes:
|
|
|
18
18
|
- release metadata (`REVISION`, `TRESTLE_RELEASE.json`)
|
|
19
19
|
- atomic `current` symlink publishing
|
|
20
20
|
- safe cleanup
|
|
21
|
+
- revision-fenced, idempotent post-publish cleanup recovery
|
|
21
22
|
- rollback to previous or selected release
|
|
22
23
|
- guarded publication recovery for an already-committed exact release
|
|
23
24
|
- JSONL deploy reports at `shared/log/rampway-deployments.jsonl`
|
|
@@ -99,6 +100,8 @@ rampway production tasks
|
|
|
99
100
|
rampway production tasks --json
|
|
100
101
|
rampway production rollback
|
|
101
102
|
rampway production resume-publication <exact-release-id>
|
|
103
|
+
rampway production cleanup-releases --expected-active-revision <active-full-sha>
|
|
104
|
+
rampway production cleanup-releases --expected-active-revision <active-full-sha> --dry-run
|
|
102
105
|
rampway production doctor
|
|
103
106
|
rampway production doctor --json
|
|
104
107
|
|
|
@@ -122,6 +125,36 @@ candidate transition fence. Recovery supports stages without an explicit
|
|
|
122
125
|
`runtime.config`, and later successful Rollbridge deploys refresh live retained
|
|
123
126
|
release pins before cleanup.
|
|
124
127
|
|
|
128
|
+
### Post-publish cleanup recovery
|
|
129
|
+
|
|
130
|
+
Publication and healthy runtime activation are the deploy success boundary. If
|
|
131
|
+
only Rampway's built-in release-retention cleanup fails after that boundary, the
|
|
132
|
+
deploy returns success as `deployed and active with cleanup pending`, persists a
|
|
133
|
+
bounded `cleanupFailure`, and prints the exact revision-fenced recovery command:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
rampway production cleanup-releases --expected-active-revision ACTIVE_FULL_SHA
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
The recovery command takes the normal deploy lock and verifies the exact
|
|
140
|
+
persisted revision from the `current` release while holding the lock. Its fence
|
|
141
|
+
also supports local-copy branch labels and full 64-character Git revisions;
|
|
142
|
+
canonical 40- and 64-character hexadecimal revisions compare case-insensitively,
|
|
143
|
+
while other tokens compare exactly. A direct CLI deploy preserves its resolved
|
|
144
|
+
`--config` path in the generated command. Rampway then inventories live
|
|
145
|
+
release/runtime state, and removes only Rampway-managed releases that exceed
|
|
146
|
+
`keepReleases` and have no current, active-runtime, draining-runtime, or durable
|
|
147
|
+
runtime-pin protection. It replans before deletion and verifies by replanning
|
|
148
|
+
afterward. Ambiguous remote deletion or listing failures cause live-state
|
|
149
|
+
readback; Rampway never infers whether a remote delete ran from exit status alone.
|
|
150
|
+
Retries are idempotent. `--dry-run` holds the same fence and reports the plan but
|
|
151
|
+
does not delete releases or append a cleanup report.
|
|
152
|
+
|
|
153
|
+
Cleanup recovery never deploys code, hands off or restarts a runtime, changes
|
|
154
|
+
`current`, or runs application hooks. Failures from `before_cleanup`,
|
|
155
|
+
`after_cleanup`, report persistence, and lock release remain ordinary nonzero
|
|
156
|
+
deploy failures rather than cleanup-pending successes.
|
|
157
|
+
|
|
125
158
|
### Deploy transports
|
|
126
159
|
|
|
127
160
|
Deploys run over one of three transports selected with `--transport`:
|
|
@@ -427,6 +460,11 @@ Every successful deploy, rollback, or resumed publication appends one JSON objec
|
|
|
427
460
|
- `healthChecks: "passed"`
|
|
428
461
|
- sanitized runtime status
|
|
429
462
|
- `cleanupRemoved` release IDs
|
|
463
|
+
- `cleanupStatus: "completed"` after ordinary cleanup, or `"pending"` when only
|
|
464
|
+
built-in post-publish retention cleanup failed
|
|
465
|
+
- for pending cleanup, bounded `cleanupFailure` process status and confirmed
|
|
466
|
+
partial-removal count plus the exact `cleanupRecoveryCommand`; these fields
|
|
467
|
+
never contain commands, remote output, credentials, or deployment destinations
|
|
430
468
|
- optional `warnings` for non-fatal maintenance failures after runtime acceptance
|
|
431
469
|
|
|
432
470
|
Rollback events include `event: "rollback"`, target `releaseId` and `revision`,
|
|
@@ -444,6 +482,12 @@ Resumed-publication events use `event: "resume-publication"`, `resumedAt`, the
|
|
|
444
482
|
exact target and previous release identities, `healthChecks: "passed"`, the
|
|
445
483
|
already-committed runtime summary, and normal cleanup results.
|
|
446
484
|
|
|
485
|
+
Successful non-dry-run `cleanup-releases` commands append
|
|
486
|
+
`event: "cleanup-releases"` reports with the revision fence, initial live plan,
|
|
487
|
+
explicit protection reasons, confirmed removals, final remaining releases, and
|
|
488
|
+
managed/protected/removable/removed/remaining counts. Dry runs print the same
|
|
489
|
+
shape without appending it.
|
|
490
|
+
|
|
447
491
|
When a remote-git deploy finds the requested revision already active under the
|
|
448
492
|
deploy lock, it appends the same bounded deploy event with `idempotent: true`,
|
|
449
493
|
the active `releaseId` and canonical `revision`, and `healthChecks: "unchanged"`
|
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":";0CAoBwC,iCAAiC;AAgDzE;;;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,CAqD9G"}
|
package/build/src/cli.js
CHANGED
|
@@ -14,10 +14,12 @@ import { tasksCommand } from "./commands/tasks.js";
|
|
|
14
14
|
import { taskCommand } from "./commands/task.js";
|
|
15
15
|
import { initCommand } from "./commands/init.js";
|
|
16
16
|
import { runtimeBootCommand } from "./commands/runtime-boot.js";
|
|
17
|
+
import { cleanupReleasesCommand } from "./commands/cleanup-releases.js";
|
|
17
18
|
import { isValidOperationalTaskName } from "./config/validate-config.js";
|
|
18
19
|
import { commandContextFromPrepared, prepareCommandContext } from "./commands/context.js";
|
|
19
20
|
import { withCommandSshCredentials } from "./transports/ssh-credentials.js";
|
|
20
21
|
import { isGitRevision } from "./core/git-source.js";
|
|
22
|
+
import { isSafePersistedRevision } from "./core/release-manager.js";
|
|
21
23
|
import { errorMetadata } from "./core/command-error.js";
|
|
22
24
|
export { withCommandSshCredentials };
|
|
23
25
|
/** @type {Record<string, Function>} */
|
|
@@ -26,6 +28,7 @@ const COMMANDS = {
|
|
|
26
28
|
validate: validateCommand,
|
|
27
29
|
plan: planCommand,
|
|
28
30
|
deploy: deployCommand,
|
|
31
|
+
"cleanup-releases": cleanupReleasesCommand,
|
|
29
32
|
releases: releasesCommand,
|
|
30
33
|
status: statusCommand,
|
|
31
34
|
task: taskCommand,
|
|
@@ -158,17 +161,19 @@ function resolveInvocation(argv) {
|
|
|
158
161
|
// Command-only form: `rampway init`.
|
|
159
162
|
if (STAGELESS_COMMANDS.has(positional[0])) {
|
|
160
163
|
if (options.expectedActiveRevision !== undefined)
|
|
161
|
-
throw new Error("--expected-active-revision is only supported for deploy.");
|
|
164
|
+
throw new Error("--expected-active-revision is only supported for deploy and cleanup-releases.");
|
|
162
165
|
if (positional.length !== 1)
|
|
163
166
|
throw new Error(`Command '${positional[0]}' does not accept positional operands.`);
|
|
164
167
|
return { command: positional[0], stageName: undefined, options };
|
|
165
168
|
}
|
|
166
169
|
const [stageName, command, ...operands] = positional;
|
|
167
170
|
if (options.expectedActiveRevision !== undefined) {
|
|
168
|
-
if (command !== "deploy")
|
|
169
|
-
throw new Error("--expected-active-revision is only supported for deploy.");
|
|
170
|
-
if (typeof options.expectedActiveRevision !== "string" || !/^[0-9a-f]{40}$/iu.test(options.expectedActiveRevision))
|
|
171
|
+
if (command !== "deploy" && command !== "cleanup-releases")
|
|
172
|
+
throw new Error("--expected-active-revision is only supported for deploy and cleanup-releases.");
|
|
173
|
+
if (command === "deploy" && (typeof options.expectedActiveRevision !== "string" || !/^[0-9a-f]{40}$/iu.test(options.expectedActiveRevision)))
|
|
171
174
|
throw new Error("--expected-active-revision requires a canonical full 40-character hexadecimal SHA.");
|
|
175
|
+
if (command === "cleanup-releases" && !isSafePersistedRevision(options.expectedActiveRevision))
|
|
176
|
+
throw new Error("--expected-active-revision requires a bounded revision token without a leading dash, whitespace, or control characters.");
|
|
172
177
|
}
|
|
173
178
|
if (command === "deploy" || command === "plan") {
|
|
174
179
|
if (operands.length > 1)
|
|
@@ -182,6 +187,15 @@ function resolveInvocation(argv) {
|
|
|
182
187
|
options.revision = operands[0];
|
|
183
188
|
}
|
|
184
189
|
}
|
|
190
|
+
else if (command === "cleanup-releases") {
|
|
191
|
+
if (operands.length > 0)
|
|
192
|
+
throw new Error("Command 'cleanup-releases' does not accept positional operands.");
|
|
193
|
+
if (options.expectedActiveRevision === undefined)
|
|
194
|
+
throw new Error("Command 'cleanup-releases' requires --expected-active-revision with a bounded revision token.");
|
|
195
|
+
const unsupported = Object.keys(options).filter(option => !["config", "dryRun", "expectedActiveRevision", "json", "sshForwardAgent"].includes(option));
|
|
196
|
+
if (unsupported.length > 0)
|
|
197
|
+
throw new Error(`Command 'cleanup-releases' does not support option --${toKebab(unsupported[0])}.`);
|
|
198
|
+
}
|
|
185
199
|
else if (command === "resume-publication") {
|
|
186
200
|
if (operands.length !== 1)
|
|
187
201
|
throw new Error("Command 'resume-publication' requires exactly one release ID.");
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup-releases.d.ts","sourceRoot":"","sources":["../../../src/commands/cleanup-releases.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,+EAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyBzB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { commandContext as defaultCommandContext } from "./context.js";
|
|
3
|
+
import { cleanupReleasesRecovery } from "../core/deploy-runner.js";
|
|
4
|
+
import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
5
|
+
/**
|
|
6
|
+
* @param {import('#types').CommandArgs} args
|
|
7
|
+
* @returns {Promise<void>}
|
|
8
|
+
*/
|
|
9
|
+
export async function cleanupReleasesCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
10
|
+
const reporter = options.json ? jsonReporter() : humanReporter({ showCommands: false });
|
|
11
|
+
const { stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
|
+
const report = await cleanupReleasesRecovery({
|
|
13
|
+
transport,
|
|
14
|
+
stage,
|
|
15
|
+
expectedActiveRevision: /** @type {string} */ (options.expectedActiveRevision),
|
|
16
|
+
dryRun: options.dryRun,
|
|
17
|
+
reporter
|
|
18
|
+
});
|
|
19
|
+
if (options.json) {
|
|
20
|
+
console.log(JSON.stringify(report, null, 2));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const action = report.dryRun ? "Cleanup dry run" : report.status === "already-clean" ? "Release cleanup already complete" : "Release cleanup complete";
|
|
24
|
+
console.log(`${action} for ${report.application}/${report.stage} at active revision ${report.activeRevision}`);
|
|
25
|
+
console.log(`Managed: ${report.counts.managed}; protected: ${report.counts.protected}; removable: ${report.counts.removable}; removed: ${report.counts.removed}; remaining: ${report.counts.remaining}`);
|
|
26
|
+
for (const protection of report.plan.protected) {
|
|
27
|
+
console.log(`Protected ${protection.releaseId}: ${protection.reasons.join(", ")}`);
|
|
28
|
+
}
|
|
29
|
+
if (report.dryRun && report.plan.removable.length > 0)
|
|
30
|
+
console.log(`Would remove: ${report.plan.removable.join(", ")}`);
|
|
31
|
+
else if (report.removed.length > 0)
|
|
32
|
+
console.log(`Removed: ${report.removed.join(", ")}`);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=cleanup-releases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup-releases.js","sourceRoot":"","sources":["../../../src/commands/cleanup-releases.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC,CAAA;IACrF,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;IAC/E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;QAC3C,SAAS;QACT,KAAK;QACL,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC9E,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ;KACT,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,0BAA0B,CAAA;IACtJ,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,uBAAuB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;IAC9G,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,gBAAgB,MAAM,CAAC,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,gBAAgB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IACxM,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAClH,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAiJzB;8BA5J2B,uBAAuB"}
|
|
@@ -15,7 +15,7 @@ const TRANSPORT_CHOICES = new Set(["http", "ssh", "auto"]);
|
|
|
15
15
|
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext, sshCredentialScope, deployLogFactory = openDeployLog }) {
|
|
16
16
|
const reporter = options.json ? jsonReporter() : humanReporter({ showCommands: false });
|
|
17
17
|
const transportChoice = resolveDeployTransportChoice(options);
|
|
18
|
-
const { config, stage, transport } = await commandContext(options, stageName, { reporter });
|
|
18
|
+
const { config, configPath, stage, transport } = await commandContext(options, stageName, { reporter });
|
|
19
19
|
if (transportChoice === "http" && !stage.http) {
|
|
20
20
|
throw new Error(`Stage '${stageName}' has no HTTP control-plane configuration; add stage.http or use --transport=ssh.`);
|
|
21
21
|
}
|
|
@@ -50,6 +50,7 @@ export async function deployCommand({ stageName, options, commandContext = defau
|
|
|
50
50
|
dryRun: options.dryRun,
|
|
51
51
|
force: options.force,
|
|
52
52
|
expectedActiveRevision: options.expectedActiveRevision,
|
|
53
|
+
configPath,
|
|
53
54
|
reporter
|
|
54
55
|
});
|
|
55
56
|
const directDeploy = () => sshCredentialScope
|
|
@@ -239,8 +240,14 @@ function summaryLines(report, logPath) {
|
|
|
239
240
|
if (report.previousRelease)
|
|
240
241
|
lines.push(` Previous release: ${report.previousRelease}`);
|
|
241
242
|
lines.push(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
242
|
-
|
|
243
|
-
|
|
243
|
+
if (report.cleanupStatus === "pending") {
|
|
244
|
+
lines.push(" Status: deployed and active with cleanup pending");
|
|
245
|
+
lines.push(` Recovery command: ${report.cleanupRecoveryCommand}`);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
const removed = report.cleanupRemoved ?? [];
|
|
249
|
+
lines.push(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
250
|
+
}
|
|
244
251
|
}
|
|
245
252
|
if (logPath)
|
|
246
253
|
lines.push(` Deploy log: ${logPath}`);
|
|
@@ -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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"}
|
|
@@ -22,9 +22,24 @@ export function createDeployPlanDetails(stage: import("#types").StageConfig, { r
|
|
|
22
22
|
* @param {import('#types').DeployOptions} opts
|
|
23
23
|
* @returns {Promise<import('#types').DeployReport|{plan: string[]}>}
|
|
24
24
|
*/
|
|
25
|
-
export function deploy({ transport, stage, sourcePath, revision, branch, dryRun, releaseId, force, expectedActiveRevision, reporter }: import("#types").DeployOptions): Promise<import("#types").DeployReport | {
|
|
25
|
+
export function deploy({ transport, stage, sourcePath, revision, branch, dryRun, releaseId, force, expectedActiveRevision, configPath, reporter }: import("#types").DeployOptions): Promise<import("#types").DeployReport | {
|
|
26
26
|
plan: string[];
|
|
27
27
|
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Removes only retention-eligible releases after verifying the exact active
|
|
30
|
+
* revision while holding the normal deploy lock. It does not invoke any deploy,
|
|
31
|
+
* runtime, publication, or hook lifecycle.
|
|
32
|
+
*
|
|
33
|
+
* @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, expectedActiveRevision: string, dryRun?: boolean, reporter?: Reporter}} opts
|
|
34
|
+
* @returns {Promise<import('#types').ReleaseCleanupReport>}
|
|
35
|
+
*/
|
|
36
|
+
export function cleanupReleasesRecovery({ transport, stage, expectedActiveRevision, dryRun, reporter }: {
|
|
37
|
+
transport: import("#types").Transport;
|
|
38
|
+
stage: import("#types").StageConfig;
|
|
39
|
+
expectedActiveRevision: string;
|
|
40
|
+
dryRun?: boolean;
|
|
41
|
+
reporter?: Reporter;
|
|
42
|
+
}): Promise<import("#types").ReleaseCleanupReport>;
|
|
28
43
|
/**
|
|
29
44
|
* @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, to?: string, reporter?: Reporter}} opts
|
|
30
45
|
* @returns {Promise<import('#types').RollbackReport>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"AAgFA;;;;GAIG;AACH,wCAJW,OAAO,QAAQ,EAAE,WAAW,oDAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAC,GACtE,MAAM,EAAE,CAIpB;AAED;;;;GAIG;AACH,+CAJW,OAAO,QAAQ,EAAE,WAAW,oDAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAC,GACtE,OAAO,QAAQ,EAAE,cAAc,EAAE,CAqB7C;AAaD;;;GAGG;AACH,mJAHW,OAAO,QAAQ,EAAE,aAAa,GAC5B,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,GAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAuTnE;AAED;;;;;;;GAOG;AACH,wGAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAC,GACjJ,OAAO,CAAC,OAAO,QAAQ,EAAE,oBAAoB,CAAC,CA+C1D;AAED;;;GAGG;AACH,6DAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAC,GAC5G,OAAO,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,CAoJpD;AAED;;;;;;;GAOG;AACH,6EAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAC,GAClH,OAAO,CAAC,OAAO,QAAQ,EAAE,uBAAuB,CAAC,CA4G7D;AAgXD;;;GAGG;AACH,6FAHW;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAClH,MAAM,CAqBlB;yBA7nCsB,eAAe"}
|
|
@@ -6,7 +6,7 @@ import { Reporter } from "./reporter.js";
|
|
|
6
6
|
import { releaseIdFromDate } from "./release-id.js";
|
|
7
7
|
import { deployPaths } from "./paths.js";
|
|
8
8
|
import { acquireLock, releaseLock } from "./locks.js";
|
|
9
|
-
import { ensureBaseDirs, prepareSharedLinks, publishCurrent, cleanupReleases, currentReleaseId, previousRelease, readReleaseRevision, requireCurrentRelease, requireReleaseMetadata, resolveRetainedRelease, pinRuntimeReleaseForCleanup, clearRuntimeReleasePinsForCleanup } from "./release-manager.js";
|
|
9
|
+
import { ensureBaseDirs, prepareSharedLinks, publishCurrent, cleanupReleases, currentReleaseId, previousRelease, readReleaseRevision, requireCurrentRelease, requireReleaseMetadata, resolveRetainedRelease, pinRuntimeReleaseForCleanup, clearRuntimeReleasePinsForCleanup, planReleaseCleanup, executeReleaseCleanup, isSafePersistedRevision } from "./release-manager.js";
|
|
10
10
|
import { runTasks } from "./task-runner.js";
|
|
11
11
|
import { runHealthChecks } from "./health-checks.js";
|
|
12
12
|
import { runHooks } from "./hooks.js";
|
|
@@ -17,13 +17,27 @@ import { readRuntimeBootState, writeRuntimeBootState } from "./runtime-boot-stat
|
|
|
17
17
|
import { writeRuntimeOwnerHandoff, removeRuntimeOwnerHandoff } from "./runtime-owner-handoff.js";
|
|
18
18
|
import { isRuntimeIncumbentPreservedError, isRuntimeRecoveryFailedError } from "./runtime-errors.js";
|
|
19
19
|
import { isSecretKey, redactText } from "./redaction.js";
|
|
20
|
-
import { wrapError } from "./command-error.js";
|
|
20
|
+
import { errorMetadata, wrapError } from "./command-error.js";
|
|
21
|
+
import { shellQuote } from "../transports/ssh-transport.js";
|
|
21
22
|
const IMPLEMENTED_STRATEGIES = new Set(["local-copy", "remote-git"]);
|
|
23
|
+
class BuiltInReleaseCleanupError extends Error {
|
|
24
|
+
/**
|
|
25
|
+
* @param {unknown} cause
|
|
26
|
+
*/
|
|
27
|
+
constructor(cause) {
|
|
28
|
+
super("Built-in release-retention cleanup failed.", { cause });
|
|
29
|
+
const confirmedRemoved = /** @type {{cleanupRemoved?: unknown}} */ (cause).cleanupRemoved;
|
|
30
|
+
/** @type {string[]} */
|
|
31
|
+
this.cleanupRemoved = Array.isArray(confirmedRemoved) && confirmedRemoved.every(release => typeof release === "string" && /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u.test(release))
|
|
32
|
+
? [...confirmedRemoved]
|
|
33
|
+
: [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
22
36
|
/**
|
|
23
37
|
* @param {import('#types').Transport} transport
|
|
24
38
|
* @param {import('#types').StageConfig} stage
|
|
25
39
|
* @param {string} expected
|
|
26
|
-
* @returns {Promise<
|
|
40
|
+
* @returns {Promise<{currentRelease: {releaseId: string, releasePath: string}, activeRevision: string}>}
|
|
27
41
|
*/
|
|
28
42
|
async function verifyExpectedActiveRevision(transport, stage, expected) {
|
|
29
43
|
const current = await requireCurrentRelease(transport, stage);
|
|
@@ -32,6 +46,36 @@ async function verifyExpectedActiveRevision(transport, stage, expected) {
|
|
|
32
46
|
throw new Error(`Active release '${current.releaseId}' has malformed revision metadata; expected a full 40-character hexadecimal SHA.`);
|
|
33
47
|
if (actual.toLowerCase() !== expected.toLowerCase())
|
|
34
48
|
throw new Error(`Expected active revision ${expected}, but current release '${current.releaseId}' has active revision ${actual}.`);
|
|
49
|
+
return { currentRelease: current, activeRevision: actual };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @param {import('#types').Transport} transport
|
|
53
|
+
* @param {import('#types').StageConfig} stage
|
|
54
|
+
* @param {string} expected
|
|
55
|
+
* @returns {Promise<{currentRelease: {releaseId: string, releasePath: string}, activeRevision: string}>}
|
|
56
|
+
*/
|
|
57
|
+
async function verifyExpectedCleanupRevision(transport, stage, expected) {
|
|
58
|
+
const current = await requireCurrentRelease(transport, stage);
|
|
59
|
+
const actual = await readReleaseRevision(transport, current.releasePath);
|
|
60
|
+
if (!isSafePersistedRevision(actual))
|
|
61
|
+
throw new Error(`Active release '${current.releaseId}' has malformed persisted revision metadata.`);
|
|
62
|
+
const canonicalHexRevisions = isFullGitRevision(actual) && isFullGitRevision(expected);
|
|
63
|
+
const matches = canonicalHexRevisions ? actual.toLowerCase() === expected.toLowerCase() : actual === expected;
|
|
64
|
+
if (!matches)
|
|
65
|
+
throw new Error(`Expected active revision ${expected}, but current release '${current.releaseId}' has active revision ${actual}.`);
|
|
66
|
+
return { currentRelease: current, activeRevision: actual };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @param {string} stageName
|
|
70
|
+
* @param {string} revision
|
|
71
|
+
* @param {string} [configPath]
|
|
72
|
+
* @returns {string}
|
|
73
|
+
*/
|
|
74
|
+
function cleanupRecoveryCommandFor(stageName, revision, configPath) {
|
|
75
|
+
const args = ["rampway", shellQuote(stageName), "cleanup-releases", "--expected-active-revision", shellQuote(revision)];
|
|
76
|
+
if (configPath !== undefined)
|
|
77
|
+
args.push("--config", shellQuote(configPath));
|
|
78
|
+
return args.join(" ");
|
|
35
79
|
}
|
|
36
80
|
/**
|
|
37
81
|
* @param {import('#types').StageConfig} stage
|
|
@@ -82,7 +126,7 @@ function sourcePlanDetail(stage, revision) {
|
|
|
82
126
|
* @param {import('#types').DeployOptions} opts
|
|
83
127
|
* @returns {Promise<import('#types').DeployReport|{plan: string[]}>}
|
|
84
128
|
*/
|
|
85
|
-
export async function deploy({ transport, stage, sourcePath = process.cwd(), revision, branch = stage.branch, dryRun = false, releaseId = releaseIdFromDate(), force = false, expectedActiveRevision, reporter = new Reporter({ lifecycle: false }) }) {
|
|
129
|
+
export async function deploy({ transport, stage, sourcePath = process.cwd(), revision, branch = stage.branch, dryRun = false, releaseId = releaseIdFromDate(), force = false, expectedActiveRevision, configPath, reporter = new Reporter({ lifecycle: false }) }) {
|
|
86
130
|
const releaseRevision = /** @type {string} */ (revision ?? stage.revision ?? (branch ?? stage.branch));
|
|
87
131
|
if (dryRun)
|
|
88
132
|
return { plan: createDeployPlan(stage, { revision: releaseRevision, releaseId, expectedActiveRevision }) };
|
|
@@ -306,9 +350,30 @@ export async function deploy({ transport, stage, sourcePath = process.cwd(), rev
|
|
|
306
350
|
}));
|
|
307
351
|
await runHooks(transport, stage, releasePath, "after_publish", { previousReleasePath, reporter });
|
|
308
352
|
await runHooks(transport, stage, releasePath, "before_cleanup", { previousReleasePath, reporter });
|
|
309
|
-
|
|
353
|
+
/** @type {string[]} */
|
|
354
|
+
let removed = [];
|
|
355
|
+
/** @type {import('#types').ReleaseCleanupFailure|undefined} */
|
|
356
|
+
let cleanupFailure;
|
|
357
|
+
try {
|
|
358
|
+
removed = await reporter.step(`Cleaning up old releases keeping ${stage.keepReleases}`, async () => {
|
|
359
|
+
try {
|
|
360
|
+
return await cleanupReleases(transport, stage);
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
throw new BuiltInReleaseCleanupError(error);
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
catch (error) {
|
|
368
|
+
if (!(error instanceof BuiltInReleaseCleanupError))
|
|
369
|
+
throw error;
|
|
370
|
+
removed = [...error.cleanupRemoved];
|
|
371
|
+
cleanupFailure = releaseCleanupFailure(error, removed.length);
|
|
372
|
+
reporter.line(` ! Release is active with cleanup pending: ${cleanupFailure.error}`);
|
|
373
|
+
}
|
|
310
374
|
await runHooks(transport, stage, releasePath, "after_cleanup", { previousReleasePath, reporter });
|
|
311
|
-
const
|
|
375
|
+
const cleanupRecoveryCommand = cleanupFailure ? cleanupRecoveryCommandFor(stage.stageName, deployedRevision, configPath) : undefined;
|
|
376
|
+
const report = /** @type {import('#types').DeployReport} */ ({ application: stage.application, stage: stage.stageName, releaseId, revision: deployedRevision, branch, deployedAt: new Date().toISOString(), event: "deploy", durationMs: Date.now() - startedAt.getTime(), previousRelease: previous ?? undefined, healthChecks: "passed", runtime: sanitizeRuntimeResult(runtimeResult, stage), cleanupRemoved: removed, cleanupStatus: cleanupFailure ? "pending" : "completed", ...(cleanupFailure ? { cleanupFailure, cleanupRecoveryCommand } : {}), ...(warnings.length > 0 ? { warnings } : {}) });
|
|
312
377
|
await appendReport(transport, stage, report);
|
|
313
378
|
return report;
|
|
314
379
|
}
|
|
@@ -384,6 +449,60 @@ export async function deploy({ transport, stage, sourcePath = process.cwd(), rev
|
|
|
384
449
|
await releaseLock(transport, stage, lock);
|
|
385
450
|
}
|
|
386
451
|
}
|
|
452
|
+
/**
|
|
453
|
+
* Removes only retention-eligible releases after verifying the exact active
|
|
454
|
+
* revision while holding the normal deploy lock. It does not invoke any deploy,
|
|
455
|
+
* runtime, publication, or hook lifecycle.
|
|
456
|
+
*
|
|
457
|
+
* @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, expectedActiveRevision: string, dryRun?: boolean, reporter?: Reporter}} opts
|
|
458
|
+
* @returns {Promise<import('#types').ReleaseCleanupReport>}
|
|
459
|
+
*/
|
|
460
|
+
export async function cleanupReleasesRecovery({ transport, stage, expectedActiveRevision, dryRun = false, reporter = new Reporter({ lifecycle: false }) }) {
|
|
461
|
+
if (!isSafePersistedRevision(expectedActiveRevision))
|
|
462
|
+
throw new Error("Cleanup recovery requires a bounded revision token without a leading dash, whitespace, or control characters.");
|
|
463
|
+
await ensureBaseDirs(transport, stage);
|
|
464
|
+
const lock = await reporter.step("Acquiring deploy lock", () => acquireLock(transport, stage));
|
|
465
|
+
try {
|
|
466
|
+
const startedAt = new Date();
|
|
467
|
+
const { currentRelease, activeRevision } = await reporter.step("Verifying expected active revision", () => verifyExpectedCleanupRevision(transport, stage, expectedActiveRevision));
|
|
468
|
+
const plan = await reporter.step("Inventorying release retention", () => planReleaseCleanup(transport, stage));
|
|
469
|
+
/** @type {string[]} */
|
|
470
|
+
let removed = [];
|
|
471
|
+
let remaining = [...plan.releases];
|
|
472
|
+
if (!dryRun) {
|
|
473
|
+
const result = await reporter.step("Deleting removable releases and verifying live state", () => executeReleaseCleanup(transport, stage, plan));
|
|
474
|
+
removed = result.removed;
|
|
475
|
+
remaining = result.remaining;
|
|
476
|
+
}
|
|
477
|
+
const report = /** @type {import('#types').ReleaseCleanupReport} */ ({
|
|
478
|
+
application: stage.application,
|
|
479
|
+
stage: stage.stageName,
|
|
480
|
+
event: "cleanup-releases",
|
|
481
|
+
status: dryRun ? "dry-run" : removed.length > 0 ? "cleaned" : "already-clean",
|
|
482
|
+
dryRun,
|
|
483
|
+
currentRelease: currentRelease.releaseId,
|
|
484
|
+
activeRevision,
|
|
485
|
+
cleanedAt: new Date().toISOString(),
|
|
486
|
+
durationMs: Date.now() - startedAt.getTime(),
|
|
487
|
+
plan,
|
|
488
|
+
removed,
|
|
489
|
+
remaining,
|
|
490
|
+
counts: {
|
|
491
|
+
managed: plan.managed.length,
|
|
492
|
+
protected: plan.protected.length,
|
|
493
|
+
removable: plan.removable.length,
|
|
494
|
+
removed: removed.length,
|
|
495
|
+
remaining: remaining.length
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
if (!dryRun)
|
|
499
|
+
await appendReport(transport, stage, report);
|
|
500
|
+
return report;
|
|
501
|
+
}
|
|
502
|
+
finally {
|
|
503
|
+
await releaseLock(transport, stage, lock);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
387
506
|
/**
|
|
388
507
|
* @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, to?: string, reporter?: Reporter}} opts
|
|
389
508
|
* @returns {Promise<import('#types').RollbackReport>}
|
|
@@ -1012,6 +1131,27 @@ function sanitizeRuntimeValue(value, knownSecrets) {
|
|
|
1012
1131
|
}
|
|
1013
1132
|
return value;
|
|
1014
1133
|
}
|
|
1134
|
+
/**
|
|
1135
|
+
* Builds the only cleanup-failure detail allowed into a successful deployment
|
|
1136
|
+
* report. Remote commands, paths, destinations, and output are deliberately not
|
|
1137
|
+
* copied from the error.
|
|
1138
|
+
*
|
|
1139
|
+
* @param {unknown} error
|
|
1140
|
+
* @param {number} removedCount
|
|
1141
|
+
* @returns {import('#types').ReleaseCleanupFailure}
|
|
1142
|
+
*/
|
|
1143
|
+
function releaseCleanupFailure(error, removedCount) {
|
|
1144
|
+
const metadata = errorMetadata(error);
|
|
1145
|
+
const exitCode = Number.isSafeInteger(metadata.exitCode) && /** @type {number} */ (metadata.exitCode) >= 0 && /** @type {number} */ (metadata.exitCode) <= 255 ? metadata.exitCode : undefined;
|
|
1146
|
+
const signal = typeof metadata.signal === "string" && /^SIG[A-Z0-9]{1,16}$/u.test(metadata.signal) ? metadata.signal : undefined;
|
|
1147
|
+
const status = signal ? `signal ${signal}` : exitCode === undefined ? "unclassified transport error" : `exit ${exitCode}`;
|
|
1148
|
+
return {
|
|
1149
|
+
error: `Built-in release-retention cleanup failed (${status}).`,
|
|
1150
|
+
removedCount,
|
|
1151
|
+
...(exitCode === undefined ? {} : { exitCode }),
|
|
1152
|
+
...(signal === undefined ? {} : { signal })
|
|
1153
|
+
};
|
|
1154
|
+
}
|
|
1015
1155
|
/**
|
|
1016
1156
|
* @param {{error: Error, published: boolean, releaseCreated?: boolean, stage: import('#types').StageConfig, releaseId: string}} opts
|
|
1017
1157
|
* @returns {string}
|
|
@@ -1060,7 +1200,7 @@ async function writeMetadata(transport, stage, { releaseId, revision, branch, re
|
|
|
1060
1200
|
/**
|
|
1061
1201
|
* @param {import('#types').Transport} transport
|
|
1062
1202
|
* @param {import('#types').StageConfig} stage
|
|
1063
|
-
* @param {import('#types').DeployReport|import('#types').RollbackReport|import('#types').ResumePublicationReport} report
|
|
1203
|
+
* @param {import('#types').DeployReport|import('#types').RollbackReport|import('#types').ResumePublicationReport|import('#types').ReleaseCleanupReport} report
|
|
1064
1204
|
* @returns {Promise<void>}
|
|
1065
1205
|
*/
|
|
1066
1206
|
async function appendReport(transport, stage, report) {
|