@@ -170,6 +170,9 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDStageCompleteEvent() error {
170
170
return
171
171
}
172
172
wfr .IsArtifactUploaded = cdStageCompleteEvent .IsArtifactUploaded
173
+ // currently, CD_STAGE_COMPLETE_TOPIC is published from ci-runner only for pre/post CD success or failure events.
174
+ // no other wfr status are sent other than these two.
175
+ // a check is in place for all terminal states to ensure future compatibility.
173
176
if ! slices .Contains (cdWorkflowModelBean .WfrTerminalStatusList , wfr .Status ) {
174
177
impl .logger .Debugw ("event received from ci runner, updating workflow runner status as succeeded" , "savedWorkflowRunnerId" , wfr .Id , "oldStatus" , wfr .Status , "podStatus" , wfr .PodStatus )
175
178
if cdStageCompleteEvent .IsFailed {
@@ -182,18 +185,17 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDStageCompleteEvent() error {
182
185
impl .logger .Errorw ("update cd-wf-runner failed for id " , "cdWfrId" , wfr .Id , "err" , err )
183
186
return
184
187
}
185
-
186
- triggerContext := triggerBean.TriggerContext {
187
- ReferenceId : pointer .String (msg .MsgId ),
188
- }
189
- impl .handleCDStageCompleteEvent (triggerContext , cdStageCompleteEvent , wfr )
190
188
} else {
191
189
err = impl .cdWorkflowRunnerService .UpdateIsArtifactUploaded (wfr .Id , cdStageCompleteEvent .IsArtifactUploaded )
192
190
if err != nil {
193
191
impl .logger .Errorw ("error in updating isArtifactUploaded" , "cdWfrId" , wfr .Id , "err" , err )
194
192
return
195
193
}
196
194
}
195
+ triggerContext := triggerBean.TriggerContext {
196
+ ReferenceId : pointer .String (msg .MsgId ),
197
+ }
198
+ impl .handleCDStageCompleteEvent (triggerContext , cdStageCompleteEvent , wfr )
197
199
}
198
200
199
201
// add required logging here
0 commit comments