[llvm] workflows: Add some automation for commit access requests (PR #123113)
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 16 23:21:08 PST 2025
================
@@ -241,6 +249,57 @@ def run(self) -> bool:
return True
+class CommitRequestGreeter:
+ def __init__(self, token: str, repo: str, issue_number: int):
+ self.repo = github.Github(token).get_repo(repo)
+ self.issue = self.repo.get_issue(issue_number)
+
+ def run(self) -> bool:
+ # Post greeter comment:
+ comment = f"""
+@{self.issue.user.login} thank you for apply for commit access. Please review the project's [code review policy](https://llvm.org/docs/CodeReview.html).
+"""
+ self.issue.create_comment(comment)
+
+ # Post activity summary:
+ total_prs = 0
+ merged_prs = 0
+ merged_by = {}
+ reviewed_by = {}
+ for i in self.repo.get_issues(creator=self.issue.user.login, state="all"):
+ issue_reviewed_by = set()
+ try:
+ pr = i.as_pull_request()
+ total_prs += 1
+ for c in pr.get_review_comments():
+ if c.user.login == self.issue.user.login:
+ continue
+ issue_reviewed_by.add(c.user.login)
+ for r in issue_reviewed_by:
+ if r not in reviewed_by:
+ reviewed_by[r] = 1
+ else:
+ reviewed_by[r] += 1
+ if pr.is_merged():
+ merged_prs += 1
+ merger = pr.merged_by.login
+ if merger not in merged_by:
+ merged_by[merger] = 1
+ else:
+ merged_by[merger] += 1
+ continue
+
+ except github.GithubException:
+ continue
+
+ comment = f"""
+### Activity Summary:
----------------
boomanaiden154 wrote:
Same here.
https://github.com/llvm/llvm-project/pull/123113
More information about the llvm-commits
mailing list