@@ -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
0 commit comments