From a399a07533ed834a951e7a17ea29200bab7c07d5 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Thu, 4 Nov 2021 01:34:38 +0800 Subject: [PATCH] feat: update checkout to release --- joint_teapot/teapot.py | 5 ++++- joint_teapot/workers/git.py | 2 +- joint_teapot/workers/gitea.py | 9 ++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/joint_teapot/teapot.py b/joint_teapot/teapot.py index 1ff6e88..55a497b 100644 --- a/joint_teapot/teapot.py +++ b/joint_teapot/teapot.py @@ -117,8 +117,11 @@ class Teapot: repo_releases = self.gitea.get_repo_releases(repo_name) release = first(repo_releases, lambda item: item.name == release_name) if release is None or release.created_at.replace(tzinfo=None) >= due: + logger.warning( + f"{self.gitea.org_name}/{repo_name} checkout to " + f"release by name {release_name} fail" + ) return False - # TODO: checkout by commit hash to prevent re-create tag self.git.repo_clean_and_checkout(repo_name, f"tags/{release.tag_name}") logger.info( f"{self.gitea.org_name}/{repo_name} checkout to " diff --git a/joint_teapot/workers/git.py b/joint_teapot/workers/git.py index 680e517..2ac21c2 100644 --- a/joint_teapot/workers/git.py +++ b/joint_teapot/workers/git.py @@ -83,7 +83,7 @@ class Git: except GitCommandError as e: if "Connection refused" in e.stderr or "Connection reset" in e.stderr: logger.warning( - f"{repo_name} connection refused/reset in clone. " + f"{repo_name} connection refused/reset in fetch. " "Probably by JI firewall." ) logger.info(f"wait for {retry_interval} seconds to retry...") diff --git a/joint_teapot/workers/gitea.py b/joint_teapot/workers/gitea.py index 9cf2762..9e37059 100644 --- a/joint_teapot/workers/gitea.py +++ b/joint_teapot/workers/gitea.py @@ -234,7 +234,6 @@ class Gitea: "enable_merge_whitelist": False, "enable_push": True, "enable_push_whitelist": True, - "enable_status_check": False, "merge_whitelist_teams": [], "merge_whitelist_usernames": [], "protected_file_patterns": "", @@ -243,7 +242,8 @@ class Gitea: "push_whitelist_usernames": [], "require_signed_commits": False, "required_approvals": max(student_count - 1, 0), - "status_check_contexts": [], + "enable_status_check": True, + "status_check_contexts": ["continuous-integration/drone/pr"], }, ) except ApiException as e: @@ -272,14 +272,13 @@ class Gitea: return res def get_repo_releases(self, repo_name: str) -> List[Any]: - res = [] try: args = self.repository_api.repo_list_releases, self.org_name, repo_name - res = list_all(*args) + return list_all(*args) except ApiException as e: if e.status != 404: raise - return res + return [] def get_all_repo_names(self) -> List[str]: return [