From 9fef2c089b3c89208bffc9dcb357a0c586e2c62e Mon Sep 17 00:00:00 2001 From: "Nyeki.py" <84998222+Nekidev@users.noreply.github.com> Date: Mon, 4 Nov 2024 23:09:27 -0300 Subject: [PATCH] build(bot): :sparkles: Pull new tags from the container image registry instead of from pyproject.toml. --- scripts/deploy.py | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) 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} -""") +""" +)