Checkpoint

Signed-off-by: bnechyporenko <bnechyporenko@bol.com>
This commit is contained in:
bnechyporenko
2024-02-04 19:55:02 +01:00
parent 36dbf7e6a1
commit acb684e1c6
14 changed files with 237 additions and 66 deletions
@@ -35,6 +35,10 @@ export type ActionContext<
secrets?: TaskSecrets;
workspacePath: string;
input: TActionInput;
checkpoint?<U extends JsonObject>(
key: string,
fn: () => Promise<U>,
): Promise<U>;
output(
name: keyof TActionOutput,
value: TActionOutput[keyof TActionOutput],
@@ -24,5 +24,6 @@ export type {
TaskCompletionState,
TaskContext,
TaskEventType,
TaskState,
TaskStatus,
} from './types';
@@ -26,6 +26,13 @@ export type TaskSecrets = Record<string, string> & {
backstageToken?: string;
};
/**
* TaskState
*
* @public
*/
export type TaskState = Record<string, JsonObject>;
/**
* The status of each step of the Task
*
@@ -110,6 +117,7 @@ export interface TaskContext {
cancelSignal: AbortSignal;
spec: TaskSpec;
secrets?: TaskSecrets;
state?: TaskState;
createdBy?: string;
done: boolean;
isDryRun?: boolean;
@@ -118,6 +126,8 @@ export interface TaskContext {
emitLog(message: string, logMetadata?: JsonObject): Promise<void>;
updateCheckpoint?(key: string, value: JsonObject): Promise<void>;
getWorkspaceName(): Promise<string>;
}