ClickHouse/tests/ci/finish_check.py

48 lines
1.1 KiB
Python
Raw Normal View History

2021-09-29 07:47:15 +00:00
#!/usr/bin/env python3
import logging
from github import Github
2021-11-26 14:00:09 +00:00
from commit_status_helper import (
2023-04-20 11:55:33 +00:00
CI_STATUS_NAME,
get_commit,
get_commit_filtered_statuses,
post_commit_status,
update_mergeable_check,
)
2023-04-20 11:55:33 +00:00
from get_robot_token import get_best_robot_token
from pr_info import PRInfo
2021-09-29 07:47:15 +00:00
2021-11-26 14:00:09 +00:00
2023-04-20 11:55:33 +00:00
def main():
2021-09-29 07:47:15 +00:00
logging.basicConfig(level=logging.INFO)
2021-11-26 14:00:09 +00:00
pr_info = PRInfo(need_orgs=True)
gh = Github(get_best_robot_token(), per_page=100)
2021-09-29 07:47:15 +00:00
commit = get_commit(gh, pr_info.sha)
# Update the Mergeable Check at the final step
update_mergeable_check(commit, pr_info, CI_STATUS_NAME)
2021-09-29 07:47:15 +00:00
2023-04-20 11:55:33 +00:00
statuses = [
status
for status in get_commit_filtered_statuses(commit)
if status.context == CI_STATUS_NAME
]
if not statuses:
return
# Take the latest status
status = statuses[-1]
2023-04-20 11:55:33 +00:00
if status.state == "pending":
post_commit_status(
commit,
"success",
status.target_url,
2023-04-20 11:55:33 +00:00
"All checks finished",
CI_STATUS_NAME,
pr_info,
dump_to_file=True,
2023-04-20 11:55:33 +00:00
)
if __name__ == "__main__":
main()