releaser: refactor; add func CheckRefSemVer

This commit is contained in:
umarcor
2021-12-20 03:47:14 +01:00
parent a06d90f456
commit 877928ba4a

View File

@@ -89,15 +89,9 @@ def GetReleaseHandler(gh):
gh_repo = gh.get_repo(environ["GITHUB_REPOSITORY"]) gh_repo = gh.get_repo(environ["GITHUB_REPOSITORY"])
print("· Get Release handler") def CheckRefSemVer(gh_ref, tag):
print("· Check SemVer compliance of the reference/tag")
tag = getenv("INPUT_TAG", "tip")
env_tag = None env_tag = None
gh_ref = environ["GITHUB_REF"]
is_prerelease = True
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:
@@ -109,16 +103,22 @@ def GetReleaseHandler(gh):
if semver == None: if semver == None:
print(f"! Could not get semver from {gh_ref!s}") print(f"! Could not get semver from {gh_ref!s}")
print(f"! Treat tag '{tag!s}' as a release") print(f"! Treat tag '{tag!s}' as a release")
is_prerelease = False return (tag, env_tag, False)
else: else:
if semver.group("prerelease") is None: if semver.group("prerelease") is None:
# is a regular semver compilant tag # is a regular semver compilant tag
is_prerelease = False return (tag, env_tag, False)
elif getenv("INPUT_SNAPSHOTS", "true") == "true": elif getenv("INPUT_SNAPSHOTS", "true") == "true":
# is semver compilant prerelease tag, thus a snapshot (we skip it) # is semver compilant prerelease tag, thus a snapshot (we skip it)
print("! Skipping snapshot prerelease") print("! Skipping snapshot prerelease")
sys_exit() sys_exit()
return (tag, env_tag, True)
[tag, env_tag, is_prerelease] = CheckRefSemVer(environ["GITHUB_REF"], getenv("INPUT_TAG", "tip"))
print("· Get Release handler")
is_draft = False
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}")