Skip to content

Commit

Permalink
fix token issue
Browse files Browse the repository at this point in the history
  • Loading branch information
pxLi committed Sep 4, 2020
1 parent 6675c62 commit 4e086be
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 23 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ jobs:
REPO_NAME: spark-rapids
HEAD: branch-0.2
BASE: branch-0.3
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # use to create and merge PR
NVAUTO_TOKEN: ${{ secrets.NVAUTO_TOKEN }} # PR has to be approved by a different token
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # use to approve and merge PR
NVAUTO_TOKEN: ${{ secrets.NVAUTO_TOKEN }} # use to trigger checks.

39 changes: 18 additions & 21 deletions .github/workflows/auto-merge/automerge
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,7 @@ import requests
API_URL = 'https://api.github.com'


def create(github_token: str, owner: str, repo_name: str, head: str, base: str):
auth_header = {
'Authorization': 'token ' + github_token
}

def create(nvauto_token: str, owner: str, repo_name: str, head: str, base: str):
url = f'{API_URL}/repos/{owner}/{repo_name}/pulls'
params = {
'title': f'[auto-merge] {head} to {base} [skip ci] [bot]',
Expand All @@ -45,7 +41,7 @@ def create(github_token: str, owner: str, repo_name: str, head: str, base: str):
'this PR is unable to be merged due to conflicts, it will remain open until manually fix.',
'maintainer_can_modify': True
}
r = requests.post(url, headers=auth_header, json=params)
r = requests.post(url, headers={'Authorization': 'token ' + nvauto_token}, json=params)
if r.status_code == 201:
print('SUCCESS - create PR')
pull = r.json()
Expand All @@ -63,7 +59,10 @@ def create(github_token: str, owner: str, repo_name: str, head: str, base: str):
sys.exit(1)


def auto_merge(github_token: str, nvauto_token: str, owner: str, repo_name: str, number: str, commit_id: str):
def auto_merge(github_token: str, owner: str, repo_name: str, number: str, commit_id: str):
auth_header = {
'Authorization': 'token ' + github_token
}
try:
# auto-approve PR
approve_url = f'{API_URL}/repos/{owner}/{repo_name}/pulls/{number}/reviews'
Expand All @@ -72,9 +71,9 @@ def auto_merge(github_token: str, nvauto_token: str, owner: str, repo_name: str,
'event': 'APPROVE',
'body': 'auto-approved',
}
r = requests.post(approve_url, headers={'Authorization': 'token ' + nvauto_token}, json=approve_params)
r = requests.post(approve_url, headers=auth_header, json=approve_params)
if r.status_code == 200:
comment(github_token=github_token, owner=owner, repo_name=repo_name, number=number,
comment(token=github_token, owner=owner, repo_name=repo_name, number=number,
content='**SUCCESS** - auto-approve')
print('SUCCESS - auto-approve')
else:
Expand All @@ -87,17 +86,17 @@ def auto_merge(github_token: str, nvauto_token: str, owner: str, repo_name: str,
'sha': commit_id,
'merge_method': 'merge',
}
r = requests.put(merge_url, headers={'Authorization': 'token ' + github_token}, json=merge_params)
r = requests.put(merge_url, headers=auth_header, json=merge_params)
if r.status_code == 200:
comment(github_token=github_token, owner=owner, repo_name=repo_name, number=number,
comment(token=github_token, owner=owner, repo_name=repo_name, number=number,
content='**SUCCESS** - auto-merge')
print('SUCCESS - auto-merge')
sys.exit(0)
else:
print('FAILURE - auto-merge')
raise Exception(r.json())
except Exception as e:
comment(github_token=github_token, owner=owner, repo_name=repo_name, number=number,
comment(token=github_token, owner=owner, repo_name=repo_name, number=number,
content=f"""**FAILURE** - Unable to auto-merge. Manual operation is required.
```
{e}
Expand All @@ -107,15 +106,12 @@ def auto_merge(github_token: str, nvauto_token: str, owner: str, repo_name: str,
sys.exit(1)


def comment(github_token: str, owner: str, repo_name: str, number: str, content: str):
auth_header = {
'Authorization': 'token ' + github_token
}
def comment(token: str, owner: str, repo_name: str, number: str, content: str):
url = f'{API_URL}/repos/{owner}/{repo_name}/issues/{number}/comments'
params = {
'body': content
}
r = requests.post(url, headers=auth_header, json=params)
r = requests.post(url, headers={'Authorization': 'token ' + token}, json=params)
if r.status_code == 201:
print('SUCCESS - create comment')
else:
Expand All @@ -126,16 +122,17 @@ def comment(github_token: str, owner: str, repo_name: str, number: str, content:

def main(github_token: str, nvauto_token: str, owner: str, repo_name: str, head: str, base: str):
try:
number, sha, term = create(github_token=github_token, owner=owner, repo_name=repo_name, head=head, base=base)
# NOTE: github actions can not be trigger by default github-actions bot
# So use nvauto_token to trigger checks
number, sha, term = create(nvauto_token=nvauto_token, owner=owner, repo_name=repo_name, head=head, base=base)
if term:
sys.exit(0)

# skip pre-merge blossom CI w/ [skip ci] in PR title
comment(github_token=nvauto_token, owner=owner, repo_name=repo_name, number=number, content='build')
comment(token=nvauto_token, owner=owner, repo_name=repo_name, number=number, content='build')

time.sleep(600) # sleep 10 minutes, then try auto-merge
auto_merge(github_token=github_token, nvauto_token=nvauto_token,
owner=owner, repo_name=repo_name, number=number, commit_id=sha)
auto_merge(github_token=github_token, owner=owner, repo_name=repo_name, number=number, commit_id=sha)
except Exception as e:
print("Unexpected error: ", e)
exit(-1)
Expand Down

0 comments on commit 4e086be

Please sign in to comment.