|
|
|
@ -635,6 +635,24 @@ func PrepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if pb != nil && pb.EnableStatusCheck {
|
|
|
|
if pb != nil && pb.EnableStatusCheck {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var missingRequiredChecks []string
|
|
|
|
|
|
|
|
for _, requiredContext := range pb.StatusCheckContexts {
|
|
|
|
|
|
|
|
contextFound := false
|
|
|
|
|
|
|
|
matchesRequiredContext := createRequiredContextMatcher(requiredContext)
|
|
|
|
|
|
|
|
for _, presentStatus := range commitStatuses {
|
|
|
|
|
|
|
|
if matchesRequiredContext(presentStatus.Context) {
|
|
|
|
|
|
|
|
contextFound = true
|
|
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if !contextFound {
|
|
|
|
|
|
|
|
missingRequiredChecks = append(missingRequiredChecks, requiredContext)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
ctx.Data["MissingRequiredChecks"] = missingRequiredChecks
|
|
|
|
|
|
|
|
|
|
|
|
ctx.Data["is_context_required"] = func(context string) bool {
|
|
|
|
ctx.Data["is_context_required"] = func(context string) bool {
|
|
|
|
for _, c := range pb.StatusCheckContexts {
|
|
|
|
for _, c := range pb.StatusCheckContexts {
|
|
|
|
if c == context {
|
|
|
|
if c == context {
|
|
|
|
@ -703,6 +721,18 @@ func PrepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C
|
|
|
|
return compareInfo
|
|
|
|
return compareInfo
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func createRequiredContextMatcher(requiredContext string) func(string) bool {
|
|
|
|
|
|
|
|
if gp, err := glob.Compile(requiredContext); err == nil {
|
|
|
|
|
|
|
|
return func(contextToCheck string) bool {
|
|
|
|
|
|
|
|
return gp.Match(contextToCheck)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return func(contextToCheck string) bool {
|
|
|
|
|
|
|
|
return requiredContext == contextToCheck
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type pullCommitList struct {
|
|
|
|
type pullCommitList struct {
|
|
|
|
Commits []pull_service.CommitInfo `json:"commits"`
|
|
|
|
Commits []pull_service.CommitInfo `json:"commits"`
|
|
|
|
LastReviewCommitSha string `json:"last_review_commit_sha"`
|
|
|
|
LastReviewCommitSha string `json:"last_review_commit_sha"`
|
|
|
|
|