@pushpalsdev/cli 1.0.70 → 1.0.71
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/pushpals-cli.js +33 -0
- package/package.json +1 -1
package/dist/pushpals-cli.js
CHANGED
|
@@ -3068,6 +3068,13 @@ async function cleanupLingeringWorkerpalWarmContainers(opts) {
|
|
|
3068
3068
|
removed: 0
|
|
3069
3069
|
};
|
|
3070
3070
|
}
|
|
3071
|
+
if (isDockerCleanupTimeoutDetail(detail)) {
|
|
3072
|
+
return {
|
|
3073
|
+
ok: true,
|
|
3074
|
+
detail: `docker cleanup timed out; skipped WorkerPal warm-container cleanup: ${detail}`,
|
|
3075
|
+
removed: 0
|
|
3076
|
+
};
|
|
3077
|
+
}
|
|
3071
3078
|
return {
|
|
3072
3079
|
ok: false,
|
|
3073
3080
|
detail: `failed to inspect lingering WorkerPal warm containers: ${detail}`,
|
|
@@ -3085,6 +3092,20 @@ async function cleanupLingeringWorkerpalWarmContainers(opts) {
|
|
|
3085
3092
|
const remove = await runCommandWithEnvFn([dockerExecutable, "rm", "-f", ...containerIds], opts.repoRoot, opts.env, commandTimeoutMs);
|
|
3086
3093
|
if (!remove.ok) {
|
|
3087
3094
|
const detail = remove.stderr || remove.stdout || `exit ${remove.exitCode}`;
|
|
3095
|
+
if (isDockerUnavailableDetail(detail)) {
|
|
3096
|
+
return {
|
|
3097
|
+
ok: true,
|
|
3098
|
+
detail: `docker unavailable; skipped WorkerPal warm-container cleanup: ${detail}`,
|
|
3099
|
+
removed: 0
|
|
3100
|
+
};
|
|
3101
|
+
}
|
|
3102
|
+
if (isDockerCleanupTimeoutDetail(detail)) {
|
|
3103
|
+
return {
|
|
3104
|
+
ok: true,
|
|
3105
|
+
detail: `docker cleanup timed out; skipped WorkerPal warm-container cleanup: ${detail}`,
|
|
3106
|
+
removed: 0
|
|
3107
|
+
};
|
|
3108
|
+
}
|
|
3088
3109
|
return {
|
|
3089
3110
|
ok: false,
|
|
3090
3111
|
detail: `failed to remove lingering WorkerPal warm containers: ${detail}`,
|
|
@@ -3129,6 +3150,14 @@ async function cleanupLocalWorkerpalSandboxImage(opts) {
|
|
|
3129
3150
|
imageName
|
|
3130
3151
|
};
|
|
3131
3152
|
}
|
|
3153
|
+
if (isDockerCleanupTimeoutDetail(detail)) {
|
|
3154
|
+
return {
|
|
3155
|
+
ok: true,
|
|
3156
|
+
detail: `docker cleanup timed out; skipped WorkerPal sandbox image cleanup: ${detail}`,
|
|
3157
|
+
removed: false,
|
|
3158
|
+
imageName
|
|
3159
|
+
};
|
|
3160
|
+
}
|
|
3132
3161
|
return {
|
|
3133
3162
|
ok: false,
|
|
3134
3163
|
detail: `failed to remove local WorkerPal sandbox image ${imageName}: ${detail}`,
|
|
@@ -3228,6 +3257,9 @@ async function cleanupLingeringPushPalsGitWorktrees(opts) {
|
|
|
3228
3257
|
function isMissingDockerImageDetail(detail) {
|
|
3229
3258
|
return /\b(no such object|no such image|not found)\b/i.test(String(detail ?? ""));
|
|
3230
3259
|
}
|
|
3260
|
+
function isDockerCleanupTimeoutDetail(detail) {
|
|
3261
|
+
return /\btimed out after \d+ms\b/i.test(String(detail ?? ""));
|
|
3262
|
+
}
|
|
3231
3263
|
function isDockerUnavailableDetail(detail) {
|
|
3232
3264
|
const text = String(detail ?? "");
|
|
3233
3265
|
return /cannot connect to (the )?docker daemon/i.test(text) || /docker daemon is not running/i.test(text) || /failed to connect to the docker api/i.test(text) || /docker_engine/i.test(text) || /is the docker daemon running/i.test(text) || /docker(?:\.exe)?: command not found/i.test(text) || /spawn\s+docker(?:\.exe)?\s+ENOENT/i.test(text) || /docker(?:\.exe)?'?\s+is not recognized as an internal or external command/i.test(text);
|
|
@@ -5441,6 +5473,7 @@ export {
|
|
|
5441
5473
|
normalizeCliInteractiveMessage,
|
|
5442
5474
|
normalizeChildProcessEnv,
|
|
5443
5475
|
isDockerUnavailableDetail,
|
|
5476
|
+
isDockerCleanupTimeoutDetail,
|
|
5444
5477
|
isCliExitCommand,
|
|
5445
5478
|
injectMonitoringHubBootstrap,
|
|
5446
5479
|
formatWorkerExecutionReadinessLines,
|