Skip to content

Commit 7199292

Browse files
committed
fix & finish
1 parent 99694c7 commit 7199292

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

routers/api/v1/repo/pull_review.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
api "code.gitea.io/gitea/modules/structs"
1717
"code.gitea.io/gitea/modules/web"
1818
"code.gitea.io/gitea/routers/api/v1/utils"
19+
"code.gitea.io/gitea/services/automerge"
1920
"code.gitea.io/gitea/services/context"
2021
"code.gitea.io/gitea/services/convert"
2122
issue_service "code.gitea.io/gitea/services/issue"
@@ -376,6 +377,11 @@ func CreatePullReview(ctx *context.APIContext) {
376377
return
377378
}
378379

380+
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
381+
if reviewType == issues_model.ReviewTypeApprove {
382+
automerge.MergeScheduledPullRequest(pr)
383+
}
384+
379385
// convert response
380386
apiReview, err := convert.ToPullReview(ctx, review, ctx.Doer)
381387
if err != nil {
@@ -464,6 +470,11 @@ func SubmitPullReview(ctx *context.APIContext) {
464470
return
465471
}
466472

473+
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
474+
if review.Type == issues_model.ReviewTypeApprove {
475+
automerge.MergeScheduledPullRequest(pr)
476+
}
477+
467478
// convert response
468479
apiReview, err := convert.ToPullReview(ctx, review, ctx.Doer)
469480
if err != nil {
@@ -889,12 +900,15 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
889900
return
890901
}
891902

892-
_, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
903+
comm, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
893904
if err != nil {
894905
ctx.Error(http.StatusInternalServerError, "pull_service.DismissReview", err)
895906
return
896907
}
897908

909+
// as reviews could have blocked a pending automerge let's recheck
910+
automerge.MergeScheduledPullRequest(comm.Issue.PullRequest)
911+
898912
if review, err = issues_model.GetReviewByID(ctx, review.ID); err != nil {
899913
ctx.Error(http.StatusInternalServerError, "GetReviewByID", err)
900914
return

routers/web/repo/pull_review.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"code.gitea.io/gitea/modules/log"
1616
"code.gitea.io/gitea/modules/setting"
1717
"code.gitea.io/gitea/modules/web"
18+
"code.gitea.io/gitea/services/automerge"
1819
"code.gitea.io/gitea/services/context"
1920
"code.gitea.io/gitea/services/context/upload"
2021
"code.gitea.io/gitea/services/forms"
@@ -265,6 +266,17 @@ func SubmitReview(ctx *context.Context) {
265266
}
266267
return
267268
}
269+
270+
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
271+
if reviewType == issues_model.ReviewTypeApprove {
272+
pr, err := issue.GetPullRequest(ctx)
273+
if err != nil {
274+
ctx.ServerError("GetPullRequest", err)
275+
return
276+
}
277+
automerge.MergeScheduledPullRequest(pr)
278+
}
279+
268280
ctx.JSONRedirect(fmt.Sprintf("%s/pulls/%d#%s", ctx.Repo.RepoLink, issue.Index, comm.HashTag()))
269281
}
270282

@@ -277,6 +289,9 @@ func DismissReview(ctx *context.Context) {
277289
return
278290
}
279291

292+
// as reviews could have blocked a pending automerge let's recheck
293+
automerge.MergeScheduledPullRequest(comm.Issue.PullRequest)
294+
280295
ctx.Redirect(fmt.Sprintf("%s/pulls/%d#%s", ctx.Repo.RepoLink, comm.Issue.Index, comm.HashTag()))
281296
}
282297

services/pull/review.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"code.gitea.io/gitea/modules/log"
2121
"code.gitea.io/gitea/modules/setting"
2222
"code.gitea.io/gitea/modules/util"
23-
"code.gitea.io/gitea/services/automerge"
2423
notify_service "code.gitea.io/gitea/services/notify"
2524
)
2625

@@ -317,11 +316,6 @@ func SubmitReview(ctx context.Context, doer *user_model.User, gitRepo *git.Repos
317316
}
318317
}
319318

320-
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
321-
if review.Type == issues_model.ReviewTypeApprove {
322-
automerge.MergeScheduledPullRequest(pr)
323-
}
324-
325319
return review, comm, nil
326320
}
327321

@@ -438,8 +432,5 @@ func DismissReview(ctx context.Context, reviewID, repoID int64, message string,
438432

439433
notify_service.PullReviewDismiss(ctx, doer, review, comment)
440434

441-
// as reviews could have blocked a pending automerge let's recheck
442-
automerge.MergeScheduledPullRequest(review.Issue.PullRequest)
443-
444435
return comment, nil
445436
}

0 commit comments

Comments
 (0)