From 668d3d02aa0222c839e42bc2608ad1fa05b8640b Mon Sep 17 00:00:00 2001 From: Elias Norberg Date: Mon, 30 Sep 2019 04:33:40 +0200 Subject: If no specific context is required for status check, require an overall success (#8318) Signed-off-by: Elias Norberg --- services/pull/commit_status.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'services/pull') diff --git a/services/pull/commit_status.go b/services/pull/commit_status.go index bdadc329d6..2872db7bd2 100644 --- a/services/pull/commit_status.go +++ b/services/pull/commit_status.go @@ -8,12 +8,20 @@ package pull import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/git" - "github.com/pkg/errors" ) // IsCommitStatusContextSuccess returns true if all required status check contexts succeed. func IsCommitStatusContextSuccess(commitStatuses []*models.CommitStatus, requiredContexts []string) bool { + // If no specific context is required, require that last commit status is a success + if len(requiredContexts) == 0 { + status := models.CalcCommitStatus(commitStatuses) + if status == nil || status.State != models.CommitStatusSuccess { + return false + } + return true + } + for _, ctx := range requiredContexts { var found bool for _, commitStatus := range commitStatuses { -- cgit v1.2.3