diff --git a/scripts/deploy.py b/scripts/deploy.py index 182e265..c8538c8 100644 --- a/scripts/deploy.py +++ b/scripts/deploy.py @@ -2,21 +2,43 @@ import os import sys try: - import toml + import requests except ImportError: print( - "You need to install `toml` to use this file. Run `pip install toml` and try again." + "You need to install `requests` to use this file. Run `pip install requests` and try " + "again." ) sys.exit() -version = toml.load(open("pyproject.toml"))["project"]["version"].split(".")[1] +username = input("Username for git.nyeki.dev: ") +password = input("Password for git.nyeki.dev: ") -os.system("git pull") -os.system(f"microk8s kubectl set image sts/bot bot=git.nyeki.dev/payphone/payphone-shard:v{version}") -os.system(f""" +tags = requests.get( + "https://git.nyeki.dev/v2/payphone/payphone-shard/tags/list", + auth=(username, password), +).json()["tags"] + +latest_version = 1 + +for tag in tags: + tag: str + + if tag[1:].isdecimal(): + version = int(tag[1:]) + + if version > latest_version: + latest_version = version + +os.system(f"git pull https://{username}:{password}@git.nyeki.dev/payphone/payphone") +os.system( + f"microk8s kubectl set image sts/bot bot=git.nyeki.dev/payphone/payphone-shard:v{version}" +) +os.system( + f""" microk8s kubectl set image deploy/tasks \ flush=git.nyeki.dev/payphone/payphone-shard:v{version} \ delete-accounts=git.nyeki.dev/payphone/payphone-shard:v{version} \ hangup-inactive-calls=git.nyeki.dev/payphone/payphone-shard:v{version} -""") +""" +)