@@ -343,34 +343,39 @@ func ToActionWorkflowJob(ctx context.Context, repo *repo_model.Repository, task
343343
344344 if job .TaskID != 0 {
345345 if task == nil {
346- task , _ , err = db .GetByID [actions_model.ActionTask ](ctx , job .TaskID )
346+ var has bool
347+ task , has , err = db .GetByID [actions_model.ActionTask ](ctx , job .TaskID )
347348 if err != nil {
348349 return nil , err
349350 }
351+ if ! has {
352+ task = nil
353+ }
350354 }
351355
352356 if task != nil {
353- tSteps , err := actions_model .GetTaskStepsByTaskID (ctx , task .ID )
354- if err != nil {
355- return nil , err
357+ if task .Steps == nil {
358+ tSteps , err := actions_model .GetTaskStepsByTaskID (ctx , task .ID )
359+ if err != nil {
360+ return nil , err
361+ }
362+ task .Steps = tSteps
363+ }
364+ runnerID = task .RunnerID
365+ if runner , ok , _ := db .GetByID [actions_model.ActionRunner ](ctx , runnerID ); ok {
366+ runnerName = runner .Name
367+ }
368+ for i , step := range task .Steps {
369+ stepStatus , stepConclusion := ToActionsStatus (job .Status )
370+ steps = append (steps , & api.ActionWorkflowStep {
371+ Name : step .Name ,
372+ Number : int64 (i ),
373+ Status : stepStatus ,
374+ Conclusion : stepConclusion ,
375+ StartedAt : step .Started .AsTime ().UTC (),
376+ CompletedAt : step .Stopped .AsTime ().UTC (),
377+ })
356378 }
357- task .Steps = tSteps
358- }
359-
360- runnerID = task .RunnerID
361- if runner , ok , _ := db .GetByID [actions_model.ActionRunner ](ctx , runnerID ); ok {
362- runnerName = runner .Name
363- }
364- for i , step := range task .Steps {
365- stepStatus , stepConclusion := ToActionsStatus (job .Status )
366- steps = append (steps , & api.ActionWorkflowStep {
367- Name : step .Name ,
368- Number : int64 (i ),
369- Status : stepStatus ,
370- Conclusion : stepConclusion ,
371- StartedAt : step .Started .AsTime ().UTC (),
372- CompletedAt : step .Stopped .AsTime ().UTC (),
373- })
374379 }
375380 }
376381
0 commit comments