mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-20 23:28:28 +02: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,11 +127,11 @@ 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)
|
||||
}
|
||||
notify_service.WorkflowRunStatusUpdate(ctx, job.Run.Repo, job.Run.TriggerUser, job.Run)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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