import os
import re
import sys
from getpass import getpass
from github import Github
def main():
if len(sys.argv) < 2:
print("USAGE: %s <RELEASE_VERSION>" % sys.argv[0])
print("\tRELEASE_VERSION: MAJOR.MINOR.PATCH")
raise RuntimeError("One positional argument is required")
release_version = sys.argv[1]
if re.match(r"^[0-9]+\.[0-9]+\.[0-9]$", release_version) is None:
raise RuntimeError("Invalid release version %s provided" % release_version)
api_key = os.environ.get("GITHUB_API_KEY")
if api_key is None:
api_key = getpass("API key: ")
git = Github(api_key)
repo = git.get_repo("stratis-storage/stratisd")
release = repo.create_git_release(
"v%s" % release_version,
"Version %s" % release_version,
"See changelog here: https://github.com/stratis-storage/stratisd/blob/master/CHANGES.txt",
draft=True,
)
label = "stratisd-%s-vendor.tar.gz" % release_version
release.upload_asset(label, label)
if __name__ == "__main__":
try:
main()
except Exception as err: print(err)
sys.exit(1)