diff --git a/engine/api/workflow/dao_run.go b/engine/api/workflow/dao_run.go index cc7520bf20..b2bdaf2790 100644 --- a/engine/api/workflow/dao_run.go +++ b/engine/api/workflow/dao_run.go @@ -828,8 +828,10 @@ func stopRunsBlocked(db *gorp.DbMap) error { } stopWorkflowNodeRunStages(&nr) - nr.Status = sdk.StatusStopped.String() - nr.Done = now + if !sdk.StatusIsTerminated(resp[i].Status) { + nr.Status = sdk.StatusStopped.String() + nr.Done = now + } if err := updateNodeRunStatusAndStage(tx, &nr); err != nil { return sdk.WrapError(err, "stopRunsBlocked> cannot update node runs stages") diff --git a/engine/api/workflow/process.go b/engine/api/workflow/process.go index 2cd2b2319a..d69bb96b75 100644 --- a/engine/api/workflow/process.go +++ b/engine/api/workflow/process.go @@ -653,6 +653,7 @@ func processWorkflowNodeRun(ctx context.Context, db gorp.SqlExecutor, store cach if err := insertWorkflowNodeRun(db, run); err != nil { return report, true, sdk.WrapError(err, "processWorkflowNodeRun> unable to insert run (node id : %d, node name : %s, subnumber : %d)", run.WorkflowNodeID, run.WorkflowNodeName, run.SubNumber) } + w.LastExecution = time.Now() buildParameters := sdk.ParametersToMap(run.BuildParameters) _, okUI := buildParameters["cds.ui.pipeline.run"]