From 01a4d08480fca787186b71fcc7e4f0324a54a721 Mon Sep 17 00:00:00 2001 From: georgecao Date: Fri, 21 May 2021 10:58:41 +0800 Subject: [PATCH 1/5] limit label length smaller than 20. --- pkg/cibot/issue.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/cibot/issue.go b/pkg/cibot/issue.go index a79ecb4..7eff69b 100644 --- a/pkg/cibot/issue.go +++ b/pkg/cibot/issue.go @@ -35,9 +35,10 @@ func (s *Server) HandleIssueEvent(event *gitee.IssueEvent) { if err != nil { glog.Errorf("unable to add comment in issue: %v", err) } - sigName := s.getSigNameFromRepo(event.Repository.FullName) - if len(sigName) > 0 { - label := []string{fmt.Sprintf("sig/%s", sigName)} + + sigName := s.getSigNameFromRepo(event.Repository.FullName) + if len(sigName) > 0 { + label := []string{fmt.Sprintf("sig/%s", sigName[0:16])} labelops := gitee.PullRequestLabelPostParam{s.Config.GiteeToken, label} _, _, err = s.GiteeClient.LabelsApi.PostV5ReposOwnerRepoIssuesNumberLabels(s.Context, owner, repo, number, labelops) if err != nil { -- Gitee From a5ba04270b1a3bc0f5d26afd7e329985c793dd90 Mon Sep 17 00:00:00 2001 From: "George.Cao" Date: Wed, 28 Jul 2021 00:28:37 +0000 Subject: [PATCH 2/5] update pkg/cibot/issue.go. --- pkg/cibot/issue.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cibot/issue.go b/pkg/cibot/issue.go index a1f6f0c..04e7d9e 100644 --- a/pkg/cibot/issue.go +++ b/pkg/cibot/issue.go @@ -38,7 +38,7 @@ func (s *Server) HandleIssueEvent(event *gitee.IssueEvent) { sigName := s.getSigNameFromRepo(event.Repository.FullName) if len(sigName) > 0 { - label := []string{fmt.Sprintf("sig/%s", sigName[0:16])} + label := []string{fmt.Sprintf("sig/%s", sigName)} labelops := gitee.PullRequestLabelPostParam{s.Config.GiteeToken, label} _, _, err = s.GiteeClient.LabelsApi.PostV5ReposOwnerRepoIssuesNumberLabels(s.Context, owner, repo, number, labelops) if err != nil { -- Gitee From 76a26605be3766e762139122e2eb51623721c735 Mon Sep 17 00:00:00 2001 From: "George.Cao" Date: Tue, 3 Aug 2021 09:58:20 +0000 Subject: [PATCH 3/5] update README.md. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 23b0759..6cade18 100644 --- a/README.md +++ b/README.md @@ -63,3 +63,5 @@ See the [Command Help](https://gitee.com/openeuler/community/blob/master/en/sig- See the [LICENSE](LICENSE) file for details. + + -- Gitee From 65555873d92c50ffb4f4d245e17c470d01da156f Mon Sep 17 00:00:00 2001 From: georgecao Date: Wed, 4 Aug 2021 09:45:16 +0800 Subject: [PATCH 4/5] resolve the frozen problem for openeuler org temporary. --- pkg/cibot/pullrequest.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/cibot/pullrequest.go b/pkg/cibot/pullrequest.go index 35d3a4c..4f75991 100644 --- a/pkg/cibot/pullrequest.go +++ b/pkg/cibot/pullrequest.go @@ -488,7 +488,7 @@ func (s *Server) MergePullRequest(event *gitee.NoteEvent) error { nonRequiringLabels, nonMissingLabels := s.legalLabelsForMerge(listofPrLabels) if len(nonRequiringLabels) == 0 && len(nonMissingLabels) == 0 { // current pr can be merged - if c, b := checkFrozenCanMerge(event.Author.Login, pr.Base.Ref); !b { + if c, b := checkFrozenCanMerge(event.Author.Login, pr.Base.Ref, owner); !b { //send comment to pr comment := "" if len(c) > 0 { @@ -625,7 +625,10 @@ func getSignersAndReviewers(user string, comments []gitee.PullRequestComments) ( return signers, reviewers, nil } -func checkFrozenCanMerge(commenter, branch string) ([]string, bool) { +func checkFrozenCanMerge(commenter, branch string, community string) ([]string, bool) { + if community == "openeuler" { + return nil, true + } frozen, isFrozen := IsBranchFrozen(branch) if isFrozen { canMerge := false -- Gitee From 56779b0c978d2bf13d38701abb043e0e08f7e6aa Mon Sep 17 00:00:00 2001 From: georgecao Date: Wed, 4 Aug 2021 09:45:16 +0800 Subject: [PATCH 5/5] Add frozen function to reconganize different communities. --- pkg/cibot/frozenhandler.go | 20 +++++++++++++++----- pkg/cibot/pullrequest.go | 6 +++--- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/pkg/cibot/frozenhandler.go b/pkg/cibot/frozenhandler.go index c7cd0dd..003eb38 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 35d3a4c..6a79ba9 100644 --- a/pkg/cibot/pullrequest.go +++ b/pkg/cibot/pullrequest.go @@ -488,7 +488,7 @@ func (s *Server) MergePullRequest(event *gitee.NoteEvent) error { nonRequiringLabels, nonMissingLabels := s.legalLabelsForMerge(listofPrLabels) if len(nonRequiringLabels) == 0 && len(nonMissingLabels) == 0 { // current pr can be merged - if c, b := checkFrozenCanMerge(event.Author.Login, pr.Base.Ref); !b { + if c, b := checkFrozenCanMerge(event.Author.Login, pr.Base.Ref, owner); !b { //send comment to pr comment := "" if len(c) > 0 { @@ -625,8 +625,8 @@ func getSignersAndReviewers(user string, comments []gitee.PullRequestComments) ( return signers, reviewers, nil } -func checkFrozenCanMerge(commenter, branch string) ([]string, bool) { - frozen, isFrozen := IsBranchFrozen(branch) +func checkFrozenCanMerge(commenter, branch string, community string) ([]string, bool) { + frozen, isFrozen := IsBranchFrozen(branch, community) if isFrozen { canMerge := false for _, v := range frozen { -- Gitee