test: keep warm rolling deploys separate from outage faults

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-11-04 11:56:32 -06:00
1 parent 40ce43c3df
commit 0c6796b936
2 files changed
+5 -1

No files matched your search

+2 -1
View File
@@ -3,6 +3,7 @@ import type { ServingArtifact } from "./upgrade-artifacts.js";
import type { ControllerRecoveryReceipt } from "./controller-recovery-observer.js";
import { setTimeout as delay } from "node:timers/promises";
import type { MatrixExecution } from "./types.js";
import { isRollingWebDeployment } from "./controller-rolling-deployment.js";
export interface ControllerOutage {
signal: "SIGTERM" | "SIGKILL";
@@ -40,7 +41,7 @@ export function configuredControllerOutage(env: NodeJS.ProcessEnv, defaultHoldMs
}
export function controllerOutageForExecution(execution: MatrixExecution, env: NodeJS.ProcessEnv): ControllerOutage | undefined {
if (execution.suite.id === "rolling-web-deployment") return undefined;
if (isRollingWebDeployment(execution)) return undefined;
if (execution.task.flow !== "everyday_workflow" || execution.task.id !== "recover-controller"
|| execution.environment.id !== "daytona" || execution.profile.generation !== "native"
|| (execution.profile.provider !== "codex" && execution.profile.provider !== "acpx")) return undefined;
@@ -85,5 +85,8 @@ describe("rolling controller qualification", () => {
.toEqual(new Set(warmIds.has(profile.id) ? ["per_turn", "warm-controller-outage-v1"] : ["per_turn"]));
}
expect(executions.every(execution => execution.suite.definitionMetadata?.retainedControllerContinuation === true)).toBe(true);
for (const execution of executions) {
expect(controllerOutageForExecution(execution, {})).toBeUndefined();
}
});
});