Skip to content

Commit 2c5b0eb

Browse files
authored
fix(api): don't warn if no previous run was found (#5203)
Signed-off-by: francois samin <[email protected]>
1 parent ad2757c commit 2c5b0eb

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

engine/api/workflow/dao_node_run.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -692,11 +692,10 @@ func GetNodeRunBuildCommits(ctx context.Context, db gorp.SqlExecutor, store cach
692692
}
693693

694694
// PreviousNodeRun find previous node run
695-
func PreviousNodeRun(db gorp.SqlExecutor, nr sdk.WorkflowNodeRun, nodeName string, workflowID int64) (sdk.WorkflowNodeRun, error) {
696-
var nodeRun sdk.WorkflowNodeRun
695+
func PreviousNodeRun(db gorp.SqlExecutor, nr sdk.WorkflowNodeRun, nodeName string, workflowID int64) (*sdk.WorkflowNodeRun, error) {
697696
// check the first run of a workflow, no need to check previous
698697
if nr.Number == 1 && nr.SubNumber == 0 {
699-
return nodeRun, nil
698+
return nil, nil
700699
}
701700
query := fmt.Sprintf(`
702701
SELECT %s FROM workflow_node_run
@@ -711,14 +710,16 @@ func PreviousNodeRun(db gorp.SqlExecutor, nr sdk.WorkflowNodeRun, nodeName strin
711710

712711
var rr = NodeRun{}
713712
if err := db.SelectOne(&rr, query, workflowID, nodeName, nr.VCSBranch, nr.VCSTag, nr.Number, nr.ID); err != nil {
714-
return nodeRun, sdk.WrapError(err, "Cannot load previous run on workflow %d node %s nr.VCSBranch:%s nr.VCSTag:%s nr.Number:%d nr.ID:%d ", workflowID, nodeName, nr.VCSBranch, nr.VCSTag, nr.Number, nr.ID)
713+
if err == sql.ErrNoRows {
714+
return nil, nil
715+
}
716+
return nil, sdk.WrapError(err, "Cannot load previous run on workflow %d node %s nr.VCSBranch:%s nr.VCSTag:%s nr.Number:%d nr.ID:%d ", workflowID, nodeName, nr.VCSBranch, nr.VCSTag, nr.Number, nr.ID)
715717
}
716718
pNodeRun, errF := fromDBNodeRun(rr, LoadRunOptions{})
717719
if errF != nil {
718-
return nodeRun, sdk.WrapError(errF, "PreviousNodeRun> Cannot read node run")
720+
return nil, sdk.WrapError(errF, "PreviousNodeRun> Cannot read node run")
719721
}
720-
nodeRun = *pNodeRun
721-
return nodeRun, nil
722+
return pNodeRun, nil
722723
}
723724

724725
//PreviousNodeRunVCSInfos returns a struct with BuildNumber, Commit Hash, Branch, Remote, Remote_url

engine/api/workflow_event.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ func WorkflowSendEvent(ctx context.Context, db gorp.SqlExecutor, store cache.Sto
3131
continue
3232
}
3333

34-
var previousNodeRun sdk.WorkflowNodeRun
34+
var previousNodeRun *sdk.WorkflowNodeRun
3535
if wnr.SubNumber > 0 {
36-
previousNodeRun = wnr
36+
previousNodeRun = &wnr
3737
} else {
3838
var errN error
3939
previousNodeRun, errN = workflow.PreviousNodeRun(db, wnr, wnr.WorkflowNodeName, wr.WorkflowID)
@@ -55,7 +55,7 @@ func WorkflowSendEvent(ctx context.Context, db gorp.SqlExecutor, store cache.Sto
5555
log.Warning(ctx, "WorkflowSendEvent> Unable to load workflow for event: %v", err)
5656
continue
5757
}
58-
eventsNotif := notification.GetUserWorkflowEvents(ctx, db, store, wr.Workflow.ProjectID, wr.Workflow.ProjectKey, workDB.Name, wr.Workflow.Notifications, &previousNodeRun, *nr)
58+
eventsNotif := notification.GetUserWorkflowEvents(ctx, db, store, wr.Workflow.ProjectID, wr.Workflow.ProjectKey, workDB.Name, wr.Workflow.Notifications, previousNodeRun, *nr)
5959
event.PublishWorkflowNodeRun(ctx, *nr, wr.Workflow, eventsNotif)
6060
e := &workflow.VCSEventMessenger{}
6161
if err := e.SendVCSEvent(ctx, db, store, proj, *wr, wnr); err != nil {

0 commit comments

Comments
 (0)