2021-11-12 12:36:25 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
2021-12-28 10:13:51 +00:00
|
|
|
import time
|
2021-11-26 14:00:09 +00:00
|
|
|
from env_helper import GITHUB_REPOSITORY
|
|
|
|
|
2021-12-28 10:13:51 +00:00
|
|
|
RETRY = 5
|
|
|
|
|
|
|
|
|
|
|
|
def get_commit(gh, commit_sha, retry_count=RETRY):
|
|
|
|
for i in range(retry_count):
|
|
|
|
try:
|
|
|
|
repo = gh.get_repo(GITHUB_REPOSITORY)
|
|
|
|
commit = repo.get_commit(commit_sha)
|
|
|
|
return commit
|
|
|
|
except Exception as ex:
|
|
|
|
if i == retry_count - 1:
|
|
|
|
raise ex
|
|
|
|
time.sleep(i)
|
|
|
|
|
|
|
|
# just suppress warning
|
|
|
|
return None
|
2021-11-12 12:36:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
def post_commit_status(gh, sha, check_name, description, state, report_url):
|
2021-12-28 10:13:51 +00:00
|
|
|
for i in range(RETRY):
|
|
|
|
try:
|
|
|
|
commit = get_commit(gh, sha, 1)
|
|
|
|
commit.create_status(context=check_name, description=description, state=state, target_url=report_url)
|
|
|
|
break
|
|
|
|
except Exception as ex:
|
|
|
|
if i == RETRY - 1:
|
|
|
|
raise ex
|
|
|
|
time.sleep(i)
|