From 1055bd3762b90b013a300bd87e3fa902e902cb9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Thu, 26 Oct 2023 13:15:19 +0200 Subject: [PATCH] fix(core): Handle missing resultData in runData (#7523) --- packages/cli/src/WorkflowRunner.ts | 6 +++--- .../executionLifecycleHooks/shared/sharedHookFunctions.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/WorkflowRunner.ts b/packages/cli/src/WorkflowRunner.ts index c4ceb4c290..e65c6c8fa7 100644 --- a/packages/cli/src/WorkflowRunner.ts +++ b/packages/cli/src/WorkflowRunner.ts @@ -73,8 +73,8 @@ export class WorkflowRunner { /** * The process did send a hook message so execute the appropriate hook */ - processHookMessage(workflowHooks: WorkflowHooks, hookData: IProcessMessageDataHook) { - void workflowHooks.executeHookFunctions(hookData.hook, hookData.parameters); + async processHookMessage(workflowHooks: WorkflowHooks, hookData: IProcessMessageDataHook) { + await workflowHooks.executeHookFunctions(hookData.hook, hookData.parameters); } /** @@ -777,7 +777,7 @@ export class WorkflowRunner { workflowHooks, ); } else if (message.type === 'processHook') { - this.processHookMessage(workflowHooks, message.data as IProcessMessageDataHook); + await this.processHookMessage(workflowHooks, message.data as IProcessMessageDataHook); } else if (message.type === 'timeout') { // Execution timed out and its process has been terminated const timeoutError = new WorkflowOperationError('Workflow execution timed out!'); diff --git a/packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts b/packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts index eba4c6cf25..fed83fca36 100644 --- a/packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts +++ b/packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts @@ -11,7 +11,7 @@ export function determineFinalExecutionStatus(runData: IRun): ExecutionStatus { const workflowHasCrashed = runData.status === 'crashed'; const workflowWasCanceled = runData.status === 'canceled'; const workflowDidSucceed = - !runData.data.resultData.error && !workflowHasCrashed && !workflowWasCanceled; + !runData.data.resultData?.error && !workflowHasCrashed && !workflowWasCanceled; let workflowStatusFinal: ExecutionStatus = workflowDidSucceed ? 'success' : 'failed'; if (workflowHasCrashed) workflowStatusFinal = 'crashed'; if (workflowWasCanceled) workflowStatusFinal = 'canceled';