feat: update checkout to release
This commit is contained in:
parent
18bfc4d6f7
commit
a399a07533
|
@ -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 "
|
||||
|
|
|
@ -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...")
|
||||
|
|
|
@ -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 [
|
||||
|
|
Loading…
Reference in New Issue
Block a user