mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-16 13:06:57 +08:00
releaser: refactor; add func GetReleaseHandler
This commit is contained in:
@@ -80,28 +80,25 @@ def GetGitHubAPIHandler():
|
|||||||
return Github(environ["GITHUB_USER"], environ["GITHUB_PASS"])
|
return Github(environ["GITHUB_USER"], environ["GITHUB_PASS"])
|
||||||
|
|
||||||
|
|
||||||
files = GetListOfArtifacts(sys_argv)
|
def GetReleaseHandler(gh):
|
||||||
gh = GetGitHubAPIHandler()
|
print("· Get Repository handler")
|
||||||
|
|
||||||
|
if "GITHUB_REPOSITORY" not in environ:
|
||||||
print("· Get Repository handler")
|
|
||||||
|
|
||||||
if "GITHUB_REPOSITORY" not in environ:
|
|
||||||
stdout.flush()
|
stdout.flush()
|
||||||
raise (Exception("Repository name not defined! Please set 'GITHUB_REPOSITORY"))
|
raise (Exception("Repository name not defined! Please set 'GITHUB_REPOSITORY"))
|
||||||
|
|
||||||
gh_repo = gh.get_repo(environ["GITHUB_REPOSITORY"])
|
gh_repo = gh.get_repo(environ["GITHUB_REPOSITORY"])
|
||||||
|
|
||||||
print("· Get Release handler")
|
print("· Get Release handler")
|
||||||
|
|
||||||
tag = getenv("INPUT_TAG", "tip")
|
tag = getenv("INPUT_TAG", "tip")
|
||||||
|
|
||||||
env_tag = None
|
env_tag = None
|
||||||
gh_ref = environ["GITHUB_REF"]
|
gh_ref = environ["GITHUB_REF"]
|
||||||
is_prerelease = True
|
is_prerelease = True
|
||||||
is_draft = False
|
is_draft = False
|
||||||
|
|
||||||
if gh_ref[0:10] == "refs/tags/":
|
if gh_ref[0:10] == "refs/tags/":
|
||||||
env_tag = gh_ref[10:]
|
env_tag = gh_ref[10:]
|
||||||
if env_tag != tag:
|
if env_tag != tag:
|
||||||
rexp = r"^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"
|
rexp = r"^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"
|
||||||
@@ -122,19 +119,19 @@ if gh_ref[0:10] == "refs/tags/":
|
|||||||
print("! Skipping snapshot prerelease")
|
print("! Skipping snapshot prerelease")
|
||||||
sys_exit()
|
sys_exit()
|
||||||
|
|
||||||
gh_tag = None
|
gh_tag = None
|
||||||
try:
|
try:
|
||||||
gh_tag = gh_repo.get_git_ref(f"tags/{tag!s}")
|
gh_tag = gh_repo.get_git_ref(f"tags/{tag!s}")
|
||||||
except Exception:
|
except Exception:
|
||||||
stdout.flush()
|
stdout.flush()
|
||||||
|
|
||||||
if gh_tag:
|
if gh_tag:
|
||||||
try:
|
try:
|
||||||
gh_release = gh_repo.get_release(tag)
|
gh_release = gh_repo.get_release(tag)
|
||||||
except Exception:
|
except Exception:
|
||||||
gh_release = gh_repo.create_git_release(tag, tag, "", draft=True, prerelease=is_prerelease)
|
gh_release = gh_repo.create_git_release(tag, tag, "", draft=True, prerelease=is_prerelease)
|
||||||
is_draft = True
|
is_draft = True
|
||||||
else:
|
else:
|
||||||
err_msg = f"Tag/release '{tag!s}' does not exist and could not create it!"
|
err_msg = f"Tag/release '{tag!s}' does not exist and could not create it!"
|
||||||
if "GITHUB_SHA" not in environ:
|
if "GITHUB_SHA" not in environ:
|
||||||
raise (Exception(err_msg))
|
raise (Exception(err_msg))
|
||||||
@@ -146,6 +143,13 @@ else:
|
|||||||
except Exception:
|
except Exception:
|
||||||
raise (Exception(err_msg))
|
raise (Exception(err_msg))
|
||||||
|
|
||||||
|
return (gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft)
|
||||||
|
|
||||||
|
|
||||||
|
files = GetListOfArtifacts(sys_argv)
|
||||||
|
[gh_repo, gh_release, tag, env_tag, is_prerelease, is_draft] = GetReleaseHandler(GetGitHubAPIHandler())
|
||||||
|
|
||||||
|
|
||||||
print("· Cleanup and/or upload artifacts")
|
print("· Cleanup and/or upload artifacts")
|
||||||
|
|
||||||
artifacts = files
|
artifacts = files
|
||||||
|
|||||||
Reference in New Issue
Block a user