mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 16:01:32 +01:00 
			
		
		
		
	Sync run status with db prior webhook delivery
* fixes status glitch of webhook * e.g. queued for cancel * e.g. completed for rerun
This commit is contained in:
		
							parent
							
								
									cdefda13a3
								
							
						
					
					
						commit
						d404c60b73
					
				| @ -459,6 +459,8 @@ func rerunJob(ctx *context_module.Context, job *actions_model.ActionRunJob, shou | ||||
| 	} | ||||
| 
 | ||||
| 	actions_service.CreateCommitStatus(ctx, job) | ||||
| 	// Sync run status with db | ||||
| 	job.Run = nil | ||||
| 	_ = job.LoadAttributes(ctx) | ||||
| 	notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run) | ||||
| 	notify_service.WorkflowJobStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job, nil) | ||||
| @ -564,6 +566,9 @@ func Cancel(ctx *context_module.Context) { | ||||
| 	} | ||||
| 	if len(updatedjobs) > 0 { | ||||
| 		job := updatedjobs[0] | ||||
| 		// Sync run status with db | ||||
| 		job.Run = nil | ||||
| 		job.LoadAttributes(ctx) | ||||
| 		notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run) | ||||
| 	} | ||||
| 	ctx.JSON(http.StatusOK, struct{}{}) | ||||
| @ -607,14 +612,18 @@ func Approve(ctx *context_module.Context) { | ||||
| 
 | ||||
| 	actions_service.CreateCommitStatus(ctx, jobs...) | ||||
| 
 | ||||
| 	if len(updatedjobs) > 0 { | ||||
| 		job := updatedjobs[0] | ||||
| 		// Sync run status with db | ||||
| 		job.Run = nil | ||||
| 		job.LoadAttributes(ctx) | ||||
| 		notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run) | ||||
| 	} | ||||
| 
 | ||||
| 	for _, job := range updatedjobs { | ||||
| 		_ = job.LoadAttributes(ctx) | ||||
| 		notify_service.WorkflowJobStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job, nil) | ||||
| 	} | ||||
| 	if len(updatedjobs) > 0 { | ||||
| 		job := updatedjobs[0] | ||||
| 		notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run) | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.JSON(http.StatusOK, struct{}{}) | ||||
| } | ||||
|  | ||||
| @ -127,13 +127,13 @@ func CancelAbandonedJobs(ctx context.Context) error { | ||||
| 		} | ||||
| 		CreateCommitStatus(ctx, job) | ||||
| 		if updated { | ||||
| 			// Sync run status with db | ||||
| 			job.Run = nil | ||||
| 			_ = job.LoadAttributes(ctx) | ||||
| 			notify_service.WorkflowJobStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job, nil) | ||||
| 			if job.Run != nil { | ||||
| 			notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run) | ||||
| 		} | ||||
| 	} | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @ -80,7 +80,6 @@ func checkJobsOfRun(ctx context.Context, runID int64) error { | ||||
| 	} | ||||
| 	if len(jobs) > 0 { | ||||
| 		runUpdated := true | ||||
| 		run := jobs[0].Run | ||||
| 		for _, job := range jobs { | ||||
| 			if !job.Status.IsDone() { | ||||
| 				runUpdated = false | ||||
| @ -88,6 +87,10 @@ func checkJobsOfRun(ctx context.Context, runID int64) error { | ||||
| 			} | ||||
| 		} | ||||
| 		if runUpdated { | ||||
| 			// Sync run status with db | ||||
| 			jobs[0].Run = nil | ||||
| 			jobs[0].LoadAttributes(ctx) | ||||
| 			run := jobs[0].Run | ||||
| 			notify_service.WorkflowRunStatusUpdate(ctx, run.Repo, run.TriggerUser, run) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user