mirror of https://github.com/go-gitea/gitea.git
fix matching
This commit is contained in:
parent
94c6d46faa
commit
0a5b4052d5
|
|
@ -38,20 +38,25 @@ func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus,
|
|||
}
|
||||
|
||||
requiredCommitStatuses := make([]*git_model.CommitStatus, 0, len(commitStatuses))
|
||||
allRequiredContextsMatched := true
|
||||
for _, gp := range requiredContextsGlob {
|
||||
requiredContextMatched := false
|
||||
for _, commitStatus := range commitStatuses {
|
||||
if gp.Match(commitStatus.Context) {
|
||||
requiredCommitStatuses = append(requiredCommitStatuses, commitStatus)
|
||||
break
|
||||
requiredContextMatched = true
|
||||
}
|
||||
}
|
||||
if !requiredContextMatched {
|
||||
allRequiredContextsMatched = false
|
||||
}
|
||||
}
|
||||
if len(requiredCommitStatuses) == 0 {
|
||||
return commitstatus.CommitStatusPending
|
||||
}
|
||||
|
||||
returnedStatus := git_model.CalcCommitStatus(requiredCommitStatuses).State
|
||||
if len(requiredCommitStatuses) == len(requiredContexts) {
|
||||
if allRequiredContextsMatched {
|
||||
return returnedStatus
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,15 @@ func TestMergeRequiredContextsCommitStatus(t *testing.T) {
|
|||
requiredContexts: []string{"Build*", "Build 2t*"},
|
||||
expected: commitstatus.CommitStatusFailure,
|
||||
},
|
||||
{
|
||||
commitStatuses: []*git_model.CommitStatus{
|
||||
{Context: "Build 1", State: commitstatus.CommitStatusSuccess},
|
||||
{Context: "Build 2", State: commitstatus.CommitStatusSuccess},
|
||||
{Context: "Build 2t", State: commitstatus.CommitStatusFailure},
|
||||
},
|
||||
requiredContexts: []string{"Build*"},
|
||||
expected: commitstatus.CommitStatusFailure,
|
||||
},
|
||||
{
|
||||
commitStatuses: []*git_model.CommitStatus{
|
||||
{Context: "Build 1", State: commitstatus.CommitStatusSuccess},
|
||||
|
|
|
|||
Loading…
Reference in New Issue