fix: recover orphaned code queue runs

This commit is contained in:
Codex
2026-05-17 10:42:51 +00:00
parent 3a6b3ef33c
commit e5749c426f
8 changed files with 64 additions and 22 deletions
+15 -6
View File
@@ -444,6 +444,10 @@ function isCoreDeployService(service: UniDeskMicroserviceConfig): boolean {
return service.id === "frontend" && service.providerId === "main-server" && service.backend.proxyMode === "core-direct";
}
function isDirectComposeDeployMode(service: UniDeskMicroserviceConfig): boolean {
return service.deployment.mode === "unidesk-direct" || service.deployment.mode === "internal-sidecar";
}
function selectServices(config: UniDeskConfig, manifest: DeployManifest, serviceId: string | null): Array<{
desired: DeployManifestService;
config: UniDeskMicroserviceConfig;
@@ -907,13 +911,18 @@ function imageLabelVerifyScript(service: UniDeskMicroserviceConfig, expectedComm
].join("\n");
}
function directDeployEnvPrefix(service: UniDeskMicroserviceConfig): string {
return `UNIDESK_${service.id.replace(/[^A-Za-z0-9]+/gu, "_").replace(/^_+|_+$/gu, "").toUpperCase()}_DEPLOY`;
}
function directComposeDeployEnv(service: UniDeskMicroserviceConfig, desired: DeployManifestService, resolvedCommit: string): Record<string, string> {
if (service.id !== "frontend") return {};
if (!isDirectComposeDeployMode(service)) return {};
const prefix = directDeployEnvPrefix(service);
return {
UNIDESK_FRONTEND_DEPLOY_SERVICE_ID: service.id,
UNIDESK_FRONTEND_DEPLOY_REPO: desired.repo,
UNIDESK_FRONTEND_DEPLOY_COMMIT: resolvedCommit,
UNIDESK_FRONTEND_DEPLOY_REQUESTED_COMMIT: desired.commitId,
[`${prefix}_SERVICE_ID`]: service.id,
[`${prefix}_REPO`]: desired.repo,
[`${prefix}_COMMIT`]: resolvedCommit,
[`${prefix}_REQUESTED_COMMIT`]: desired.commitId,
};
}
@@ -1669,7 +1678,7 @@ async function applyOneService(config: UniDeskConfig, service: UniDeskMicroservi
if (!pushStep(steps, controlManifestSync)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
}
const buildScript = service.deployment.mode === "unidesk-direct"
const buildScript = isDirectComposeDeployMode(service)
? buildDirectImageScript(service, desired, resolvedCommit)
: buildImageScript(service, desired, resolvedCommit);
const build = await step(config, service, "docker-build", buildScript, targetWorkDir(service), Math.min(options.timeoutMs, 540_000), !targetIsMain(service));