Skip to content

Commit 5ae1b1e

Browse files
fixed waiting to start status in deployemnt (#6649)
1 parent dde8a4a commit 5ae1b1e

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

internal/sql/repository/pipelineConfig/CdWorfkflowRepository.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ type CdWorkflowRepository interface {
4040
FindCdWorkflowMetaByEnvironmentId(appId int, environmentId int, offset int, size int) ([]CdWorkflowRunner, error)
4141
FindCdWorkflowMetaByPipelineId(pipelineId int, offset int, size int) ([]CdWorkflowRunner, error)
4242
FindArtifactByPipelineIdAndRunnerType(pipelineId int, runnerType apiBean.WorkflowType, limit int, runnerStatuses []string) ([]CdWorkflowRunner, error)
43-
SaveWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) (*CdWorkflowRunner, error)
43+
SaveWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) error
4444
UpdateWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) error
4545
UpdateIsArtifactUploaded(wfrId int, isArtifactUploaded workflow.ArtifactUploadedType) error
4646
GetPreviousQueuedRunners(cdWfrId, pipelineId int) ([]*CdWorkflowRunner, error)
@@ -435,9 +435,11 @@ func (impl *CdWorkflowRepositoryImpl) FindLastPreOrPostTriggeredByEnvironmentId(
435435
return wfr, err
436436
}
437437

438-
func (impl *CdWorkflowRepositoryImpl) SaveWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) (*CdWorkflowRunner, error) {
439-
err := tx.Insert(wfr)
440-
return wfr, err
438+
func (impl *CdWorkflowRepositoryImpl) SaveWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) error {
439+
if tx == nil {
440+
return impl.dbConnection.Insert(wfr)
441+
}
442+
return tx.Insert(wfr)
441443
}
442444

443445
func (impl *CdWorkflowRepositoryImpl) UpdateWorkFlowRunnerWithTx(wfr *CdWorkflowRunner, tx *pg.Tx) error {

pkg/deployment/trigger/devtronApps/deployStageHandlerCode.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,15 +282,15 @@ func (impl *HandlerServiceImpl) ManualCdTrigger(triggerContext bean.TriggerConte
282282
AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: overrideRequest.UserId, UpdatedOn: triggeredAt, UpdatedBy: overrideRequest.UserId},
283283
ReferenceId: triggerContext.ReferenceId,
284284
}
285-
savedWfr, err := impl.cdWorkflowRunnerService.SaveCDWorkflowRunnerWithStage(runner)
285+
err = impl.cdWorkflowRunnerService.SaveWfr(nil, runner)
286286
if err != nil {
287287
impl.logger.Errorw("err in creating cdWorkflowRunner, ManualCdTrigger", "cdWorkflowId", cdWorkflowId, "err", err)
288288
return 0, "", nil, err
289289
}
290290
runner.CdWorkflow = &pipelineConfig.CdWorkflow{
291291
Pipeline: cdPipeline,
292292
}
293-
overrideRequest.WfrId = savedWfr.Id
293+
overrideRequest.WfrId = runner.Id
294294
overrideRequest.CdWorkflowId = cdWorkflowId
295295
// creating cd pipeline status timeline for deployment initialisation
296296
timeline := impl.pipelineStatusTimelineService.NewDevtronAppPipelineStatusTimelineDbObject(runner.Id, timelineStatus.TIMELINE_STATUS_DEPLOYMENT_INITIATED, timelineStatus.TIMELINE_DESCRIPTION_DEPLOYMENT_INITIATED, overrideRequest.UserId)
@@ -419,7 +419,7 @@ func (impl *HandlerServiceImpl) TriggerAutomaticDeployment(request bean.TriggerR
419419
AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: triggeredBy, UpdatedOn: triggeredAt, UpdatedBy: triggeredBy},
420420
ReferenceId: request.TriggerContext.ReferenceId,
421421
}
422-
savedWfr, err := impl.cdWorkflowRunnerService.SaveCDWorkflowRunnerWithStage(runner)
422+
err := impl.cdWorkflowRunnerService.SaveWfr(nil, runner)
423423
if err != nil {
424424
return err
425425
}
@@ -448,7 +448,7 @@ func (impl *HandlerServiceImpl) TriggerAutomaticDeployment(request bean.TriggerR
448448
impl.logger.Errorw("validation error deployment request", "cdWfr", runner.Id, "err", validationErr)
449449
return validationErr
450450
}
451-
releaseErr := impl.TriggerCD(ctx, artifact, cdWf.Id, savedWfr.Id, pipeline, envDeploymentConfig, triggeredAt, triggeredBy)
451+
releaseErr := impl.TriggerCD(ctx, artifact, cdWf.Id, runner.Id, pipeline, envDeploymentConfig, triggeredAt, triggeredBy)
452452
// if releaseErr found, then the mark current deployment Failed and return
453453
if releaseErr != nil {
454454
err := impl.cdWorkflowCommonService.MarkCurrentDeploymentFailed(runner, releaseErr, triggeredBy)

pkg/workflow/cd/CdWorkflowRunnerService.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ import (
2929
"github.com/devtron-labs/devtron/pkg/workflow/cd/adapter"
3030
"github.com/devtron-labs/devtron/pkg/workflow/cd/bean"
3131
"github.com/devtron-labs/devtron/util"
32+
"github.com/go-pg/pg"
3233
"go.uber.org/zap"
3334
)
3435

3536
type CdWorkflowRunnerService interface {
3637
UpdateWfr(dto *bean.CdWorkflowRunnerDto, updatedBy int) error
38+
SaveWfr(tx *pg.Tx, wfr *pipelineConfig.CdWorkflowRunner) error
3739
UpdateIsArtifactUploaded(wfrId int, isArtifactUploaded bool) error
3840
SaveCDWorkflowRunnerWithStage(wfr *pipelineConfig.CdWorkflowRunner) (*pipelineConfig.CdWorkflowRunner, error)
3941
UpdateCdWorkflowRunnerWithStage(wfr *pipelineConfig.CdWorkflowRunner) error
@@ -103,7 +105,7 @@ func (impl *CdWorkflowRunnerServiceImpl) SaveCDWorkflowRunnerWithStage(wfr *pipe
103105
if impl.config.EnableWorkflowExecutionStage {
104106
wfr.Status = cdWorkflow.WorkflowWaitingToStart
105107
}
106-
wfr, err = impl.cdWorkflowRepository.SaveWorkFlowRunnerWithTx(wfr, tx)
108+
err = impl.cdWorkflowRepository.SaveWorkFlowRunnerWithTx(wfr, tx)
107109
if err != nil {
108110
impl.logger.Errorw("error in saving workflow", "payload", wfr, "error", err)
109111
return wfr, err
@@ -198,3 +200,7 @@ func (impl *CdWorkflowRunnerServiceImpl) GetPrePostWorkflowStagesByWorkflowRunne
198200
}
199201
return resp, nil
200202
}
203+
204+
func (impl *CdWorkflowRunnerServiceImpl) SaveWfr(tx *pg.Tx, wfr *pipelineConfig.CdWorkflowRunner) error {
205+
return impl.cdWorkflowRepository.SaveWorkFlowRunnerWithTx(wfr, tx)
206+
}

0 commit comments

Comments
 (0)