Skip to content

Commit b37bab6

Browse files
authored
fix for ci runner update (#6192)
1 parent c3581b7 commit b37bab6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

pkg/pipeline/CiService.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,21 +243,28 @@ func (impl *CiServiceImpl) handleRuntimeParamsValidations(trigger types.Trigger,
243243
}
244244

245245
func (impl *CiServiceImpl) markCurrentCiWorkflowFailed(savedCiWf *pipelineConfig.CiWorkflow, validationErr error) error {
246-
// TODO: mature this method to create ci workflow and mark it failed if required
247246
// currently such requirement is not there
248247
if savedCiWf == nil {
249248
return nil
250249
}
251-
if slices.Contains(cdWorkflow.WfrTerminalStatusList, savedCiWf.Status) {
250+
if savedCiWf.Id != 0 && slices.Contains(cdWorkflow.WfrTerminalStatusList, savedCiWf.Status) {
252251
impl.Logger.Debug("workflow is already in terminal state", "status", savedCiWf.Status, "workflowId", savedCiWf.Id, "message", savedCiWf.Message)
253252
return nil
254253
}
254+
255255
savedCiWf.Status = cdWorkflow.WorkflowFailed
256256
savedCiWf.Message = validationErr.Error()
257257
savedCiWf.FinishedOn = time.Now()
258-
dbErr := impl.ciWorkflowRepository.SaveWorkFlow(savedCiWf)
258+
259+
var dbErr error
260+
if savedCiWf.Id == 0 {
261+
dbErr = impl.ciWorkflowRepository.SaveWorkFlow(savedCiWf)
262+
} else {
263+
dbErr = impl.ciWorkflowRepository.UpdateWorkFlow(savedCiWf)
264+
}
265+
259266
if dbErr != nil {
260-
impl.Logger.Errorw("saving workflow error", "err", dbErr)
267+
impl.Logger.Errorw("save/update workflow error", "err", dbErr)
261268
return dbErr
262269
}
263270
return nil

0 commit comments

Comments
 (0)