releaser: refactor; add func UploadArtifacts

This commit is contained in:
umarcor
2021-12-20 03:10:16 +01:00
parent dcaff1e5a1
commit a06d90f456

View File

@@ -146,25 +146,18 @@ def GetReleaseHandler(gh):
return (gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft) return (gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft)
files = GetListOfArtifacts(sys_argv) def UploadArtifacts(gh_release, artifacts):
[gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft] = GetReleaseHandler(GetGitHubAPIHandler()) print("· Cleanup and/or upload artifacts")
assets = gh_release.get_assets()
print("· Cleanup and/or upload artifacts") def delete_asset_by_name(name):
artifacts = files
assets = gh_release.get_assets()
def delete_asset_by_name(name):
for asset in assets: for asset in assets:
if asset.name == name: if asset.name == name:
asset.delete_asset() asset.delete_asset()
return return
def upload_asset(artifact, name):
def upload_asset(artifact, name):
try: try:
return gh_release.upload_asset(artifact, name=name) return gh_release.upload_asset(artifact, name=name)
except GithubException as ex: except GithubException as ex:
@@ -179,8 +172,7 @@ def upload_asset(artifact, name):
print(f" - retry uploading {name}...") print(f" - retry uploading {name}...")
return gh_release.upload_asset(artifact, name=name) return gh_release.upload_asset(artifact, name=name)
def replace_asset(artifacts, asset):
def replace_asset(artifacts, asset):
print(f" > {asset!s}\n {asset.name!s}:") print(f" > {asset!s}\n {asset.name!s}:")
for artifact in artifacts: for artifact in artifacts:
aname = str(Path(artifact).name) aname = str(Path(artifact).name)
@@ -195,17 +187,16 @@ def replace_asset(artifacts, asset):
return return
print(" - keep") print(" - keep")
if getenv("INPUT_RM", "false") == "true":
if getenv("INPUT_RM", "false") == "true":
print("· RM set. All previous assets are being cleared...") print("· RM set. All previous assets are being cleared...")
for asset in assets: for asset in assets:
print(f" - {asset.name}") print(f" - {asset.name}")
asset.delete_asset() asset.delete_asset()
else: else:
for asset in assets: for asset in assets:
replace_asset(artifacts, asset) replace_asset(artifacts, asset)
for artifact in artifacts: for artifact in artifacts:
print(f" > {artifact!s}:\n - uploading...") print(f" > {artifact!s}:\n - uploading...")
gh_release.upload_asset(artifact) gh_release.upload_asset(artifact)
@@ -230,6 +221,10 @@ def UpdateReference(gh_release, tag, sha, is_prerelease, is_draft):
gh_repo.get_git_ref(f"tags/{tag!s}").edit(sha) gh_repo.get_git_ref(f"tags/{tag!s}").edit(sha)
files = GetListOfArtifacts(sys_argv)
[gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft] = GetReleaseHandler(GetGitHubAPIHandler())
stdout.flush()
UploadArtifacts(gh_release, files)
stdout.flush() stdout.flush()
UpdateReference( UpdateReference(
gh_release, gh_release,