From cf2a7f7335b2791698a62f14a05279292a3e30d8 Mon Sep 17 00:00:00 2001 From: Coenen Benjamin Date: Mon, 20 Aug 2018 13:42:55 +0200 Subject: [PATCH] fix(api): fix stop workflow run for purge, do not stop all nodes (#3223) Signed-off-by: Benjamin Coenen --- engine/api/workflow/dao_run.go | 6 ++++-- engine/api/workflow/process.go | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) 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"]