fix: add aipod imageRef work-ready runner reuse
This commit is contained in:
@@ -49,6 +49,8 @@ export async function dispatchQueueTask(options: DispatchQueueTaskOptions): Prom
|
||||
run,
|
||||
command,
|
||||
runnerJob,
|
||||
envImage: jsonRecordOrNull(runnerJob.envImage),
|
||||
workReady: jsonRecordOrNull(runnerJob.workReady),
|
||||
latestAttempt,
|
||||
pollCommands: {
|
||||
queue: `./scripts/agentrun queue show ${task.id}`,
|
||||
@@ -127,6 +129,8 @@ function buildRunnerJobInput(task: QueueTaskRecord, commandId: string, input: Js
|
||||
copyString("runnerId", "runnerId");
|
||||
copyString("sourceCommit", "sourceCommit");
|
||||
copyString("serviceAccountName", "serviceAccountName");
|
||||
const imageRef = jsonRecordOrNull(input.imageRef) ?? jsonRecordOrNull(task.metadata.aipodImageRef);
|
||||
if (imageRef) jobInput.imageRef = imageRef;
|
||||
if (input.transientEnv !== undefined) {
|
||||
if (!Array.isArray(input.transientEnv)) throw new AgentRunError("schema-invalid", "transientEnv must be an array", { httpStatus: 400 });
|
||||
jobInput.transientEnv = input.transientEnv.map((item, index) => asRecord(item, `transientEnv[${index}]`));
|
||||
@@ -140,6 +144,11 @@ function stringFrom(record: JsonRecord, key: string): string {
|
||||
return value;
|
||||
}
|
||||
|
||||
function jsonRecordOrNull(value: unknown): JsonRecord | null {
|
||||
if (!value || typeof value !== "object" || Array.isArray(value)) return null;
|
||||
return value as JsonRecord;
|
||||
}
|
||||
|
||||
function optionalString(value: unknown): string | undefined {
|
||||
return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user