From 214607bf8da277c58ff09970ae696e9d945ce9bc Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 9 Jan 2020 19:32:28 +0000 Subject: [PATCH 1/3] Set Errored PRs out of StatusChecking --- models/pull.go | 1 + services/pull/check.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/models/pull.go b/models/pull.go index 876036c9e192..1be8fafea26d 100644 --- a/models/pull.go +++ b/models/pull.go @@ -35,6 +35,7 @@ const ( PullRequestStatusChecking PullRequestStatusMergeable PullRequestStatusManuallyMerged + PullRequestStatusError ) // PullRequest represents relation between pull request and repositories. diff --git a/services/pull/check.go b/services/pull/check.go index 74185b6815d4..b1b950582318 100644 --- a/services/pull/check.go +++ b/services/pull/check.go @@ -194,10 +194,14 @@ func TestPullRequests(ctx context.Context) { if err != nil { log.Error("GetPullRequestByID[%s]: %v", prID, err) continue + } else if pr.Status != models.PullRequestStatusChecking { + continue } else if manuallyMerged(pr) { continue } else if err = TestPatch(pr); err != nil { log.Error("testPatch[%d]: %v", pr.ID, err) + pr.Status = models.PullRequestStatusError + pr.UpdateCols("status") continue } checkAndUpdateStatus(pr) From 27d0e30ca7d1135216f3f0ffd340df7c01f7825f Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 9 Jan 2020 19:44:23 +0000 Subject: [PATCH 2/3] Ensure that api status is correctly set too --- models/pull.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/pull.go b/models/pull.go index 1be8fafea26d..15d25c365a18 100644 --- a/models/pull.go +++ b/models/pull.go @@ -518,7 +518,7 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest { } if pr.Status != PullRequestStatusChecking { - mergeable := pr.Status != PullRequestStatusConflict && !pr.IsWorkInProgress() + mergeable := (pr.Status != PullRequestStatusConflict || pr.Status != PullRequestStatusError) && !pr.IsWorkInProgress() apiPullRequest.Mergeable = mergeable } if pr.HasMerged { From 568b91395a62d1aec96750fab55d0950471a7482 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 9 Jan 2020 20:10:39 +0000 Subject: [PATCH 3/3] Update models/pull.go Co-Authored-By: John Olheiser <42128690+jolheiser@users.noreply.github.com> --- models/pull.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/pull.go b/models/pull.go index 15d25c365a18..a7f51683db43 100644 --- a/models/pull.go +++ b/models/pull.go @@ -518,7 +518,7 @@ func (pr *PullRequest) apiFormat(e Engine) *api.PullRequest { } if pr.Status != PullRequestStatusChecking { - mergeable := (pr.Status != PullRequestStatusConflict || pr.Status != PullRequestStatusError) && !pr.IsWorkInProgress() + mergeable := !(pr.Status == PullRequestStatusConflict || pr.Status == PullRequestStatusError) && !pr.IsWorkInProgress() apiPullRequest.Mergeable = mergeable } if pr.HasMerged {