diff --git a/pkg/cibot/frozenhandler.go b/pkg/cibot/frozenhandler.go index c7cd0ddac56c00b91ed047dfd4614a73a4410d2f..003eb388d5406d45f43f50bd48936b02f166d44f 100644 --- a/pkg/cibot/frozenhandler.go +++ b/pkg/cibot/frozenhandler.go @@ -35,9 +35,10 @@ type FrozenYaml struct { //FrozenBranchYaml Branch freeze configuration type FrozenBranchYaml struct { - Branch string `yaml:"branch"` - Frozen bool `yaml:"frozen"` - Owner []string `yaml:"owner"` + Branch string `yaml:"branch"` + Frozen bool `yaml:"frozen"` + Owner []string `yaml:"owner"` + Communtiy []string `yaml:"community"` } var @@ -170,6 +171,7 @@ func emptyFrozenList() { frozenFile = freezeFile{} } lock.Unlock() + glog.Info("FrozenList after empty: %v", frozenList) } func writeFrozenList(fs []FrozenBranchYaml) { @@ -179,17 +181,25 @@ func writeFrozenList(fs []FrozenBranchYaml) { frozenList = frozenList[:0] } frozenList = append(frozenList, fs...) + glog.Info("FrozenList after write: %v", frozenList) } //IsBranchFrozen Check if the branch is frozen -func IsBranchFrozen(branch string) (owner []string, isFrozen bool) { +func IsBranchFrozen(branch string, community string) (owner []string, isFrozen bool) { lock.RLock() defer lock.RUnlock() if len(frozenList) == 0 { return nil, isFrozen } for _, v := range frozenList { - if v.Branch == branch { + var isCommunityFrozen = false + for _, c := range v.Communtiy { + if c == community { + isCommunityFrozen = true + break + } + } + if v.Branch == branch && isCommunityFrozen{ isFrozen = true owner = append(owner, v.Owner...) break diff --git a/pkg/cibot/pullrequest.go b/pkg/cibot/pullrequest.go index 4f75991cc511810e6b45a2c85dc805652b561f28..6a79ba9e8169668ed528ddf937be2d68869c6da6 100644 --- a/pkg/cibot/pullrequest.go +++ b/pkg/cibot/pullrequest.go @@ -626,10 +626,7 @@ func getSignersAndReviewers(user string, comments []gitee.PullRequestComments) ( } func checkFrozenCanMerge(commenter, branch string, community string) ([]string, bool) { - if community == "openeuler" { - return nil, true - } - frozen, isFrozen := IsBranchFrozen(branch) + frozen, isFrozen := IsBranchFrozen(branch, community) if isFrozen { canMerge := false for _, v := range frozen {