Skip to content

Commit 0a5b405

Browse files
committed
fix matching
1 parent 94c6d46 commit 0a5b405

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

services/pull/commit_status.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,25 @@ func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus,
3838
}
3939

4040
requiredCommitStatuses := make([]*git_model.CommitStatus, 0, len(commitStatuses))
41+
allRequiredContextsMatched := true
4142
for _, gp := range requiredContextsGlob {
43+
requiredContextMatched := false
4244
for _, commitStatus := range commitStatuses {
4345
if gp.Match(commitStatus.Context) {
4446
requiredCommitStatuses = append(requiredCommitStatuses, commitStatus)
45-
break
47+
requiredContextMatched = true
4648
}
4749
}
50+
if !requiredContextMatched {
51+
allRequiredContextsMatched = false
52+
}
4853
}
4954
if len(requiredCommitStatuses) == 0 {
5055
return commitstatus.CommitStatusPending
5156
}
5257

5358
returnedStatus := git_model.CalcCommitStatus(requiredCommitStatuses).State
54-
if len(requiredCommitStatuses) == len(requiredContexts) {
59+
if allRequiredContextsMatched {
5560
return returnedStatus
5661
}
5762

services/pull/commit_status_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,15 @@ func TestMergeRequiredContextsCommitStatus(t *testing.T) {
5858
requiredContexts: []string{"Build*", "Build 2t*"},
5959
expected: commitstatus.CommitStatusFailure,
6060
},
61+
{
62+
commitStatuses: []*git_model.CommitStatus{
63+
{Context: "Build 1", State: commitstatus.CommitStatusSuccess},
64+
{Context: "Build 2", State: commitstatus.CommitStatusSuccess},
65+
{Context: "Build 2t", State: commitstatus.CommitStatusFailure},
66+
},
67+
requiredContexts: []string{"Build*"},
68+
expected: commitstatus.CommitStatusFailure,
69+
},
6170
{
6271
commitStatuses: []*git_model.CommitStatus{
6372
{Context: "Build 1", State: commitstatus.CommitStatusSuccess},

0 commit comments

Comments
 (0)