Introduce Mako to fix pr_triage workflow (#5574)
* pr_triage: Fix invalid workflow * Don't assign reviewers to draft PRs * Add team review request for developers team * Introduce Mako to make team reviewers work
This commit is contained in:
parent
b12ea343d0
commit
9b8625d999
2
.github/reviewers.yml
vendored
2
.github/reviewers.yml
vendored
@ -29,4 +29,4 @@ infra:
|
|||||||
- TSRBerry
|
- TSRBerry
|
||||||
|
|
||||||
default:
|
default:
|
||||||
- marysaka
|
- @developers
|
||||||
|
24
.github/update_reviewers.py
vendored
24
.github/update_reviewers.py
vendored
@ -1,9 +1,10 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Set
|
from typing import List, Set
|
||||||
from github import Github
|
from github import Auth, Github
|
||||||
from github.Repository import Repository
|
from github.Repository import Repository
|
||||||
from github.GithubException import GithubException
|
from github.GithubException import GithubException
|
||||||
|
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
@ -25,6 +26,10 @@ def update_reviewers(config, repo: Repository, pr_id: int) -> int:
|
|||||||
sys.stderr.writable(f"Unknown PR #{pr_id}\n")
|
sys.stderr.writable(f"Unknown PR #{pr_id}\n")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
if pull_request.draft:
|
||||||
|
print("Not assigning reviewers for draft PRs")
|
||||||
|
return 0
|
||||||
|
|
||||||
pull_request_author = pull_request.user.login
|
pull_request_author = pull_request.user.login
|
||||||
reviewers = set()
|
reviewers = set()
|
||||||
team_reviewers = set()
|
team_reviewers = set()
|
||||||
@ -53,16 +58,19 @@ def update_reviewers(config, repo: Repository, pr_id: int) -> int:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) != 5:
|
if len(sys.argv) != 7:
|
||||||
sys.stderr.write("usage: <token> <repo_path> <pr_id> <config_path>\n")
|
sys.stderr.write("usage: <app_id> <private_key_env_name> <installation_id> <repo_path> <pr_id> <config_path>\n")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
token = sys.argv[1]
|
app_id = sys.argv[1]
|
||||||
repo_path = sys.argv[2]
|
private_key = os.environ[sys.argv[2]]
|
||||||
pr_id = int(sys.argv[3])
|
installation_id = sys.argv[3]
|
||||||
config_path = Path(sys.argv[4])
|
repo_path = sys.argv[4]
|
||||||
|
pr_id = int(sys.argv[5])
|
||||||
|
config_path = Path(sys.argv[6])
|
||||||
|
|
||||||
g = Github(token)
|
auth = Auth.AppAuth(app_id, private_key).get_installation_auth(installation_id)
|
||||||
|
g = Github(auth=auth)
|
||||||
repo = g.get_repo(repo_path)
|
repo = g.get_repo(repo_path)
|
||||||
|
|
||||||
if not repo:
|
if not repo:
|
||||||
|
8
.github/workflows/pr_triage.yml
vendored
8
.github/workflows/pr_triage.yml
vendored
@ -27,9 +27,11 @@ jobs:
|
|||||||
sync-labels: true
|
sync-labels: true
|
||||||
dot: true
|
dot: true
|
||||||
|
|
||||||
|
- run: pip3 install PyGithub
|
||||||
|
|
||||||
- name: Assign reviewers
|
- name: Assign reviewers
|
||||||
if: ! github.event.pull_request.draft
|
|
||||||
run: |
|
run: |
|
||||||
pip3 install PyGithub
|
python3 .github/update_reviewers.py ${{ secrets.MAKO_APP_ID }} "MAKO_PRIVATE_KEY" ${{ secrets.MAKO_INSTALLATION_ID }} ${{ github.repository }} ${{ github.event.pull_request.number }} .github/reviewers.yml
|
||||||
python3 .github/update_reviewers.py ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }} ${{ github.event.pull_request.number }} .github/reviewers.yml
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
env:
|
||||||
|
MAKO_PRIVATE_KEY: ${{ secrets.MAKO_PRIVATE_KEY }}
|
||||||
|
Loading…
Reference in New Issue
Block a user