From fe7886f4952a5e8cdc84f9df1edbd895c002c1e7 Mon Sep 17 00:00:00 2001 From: Nutchanon Ninyawee Date: Sun, 9 Jun 2024 20:18:31 +0700 Subject: [PATCH] chore: :recycle: update run code --- .mise/tasks/__template__ | 4 +++ .mise/tasks/dev | 6 ---- .mise/tasks/run.py | 61 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 6 deletions(-) create mode 100755 .mise/tasks/__template__ delete mode 100755 .mise/tasks/dev create mode 100755 .mise/tasks/run.py diff --git a/.mise/tasks/__template__ b/.mise/tasks/__template__ new file mode 100755 index 0000000..46b1f71 --- /dev/null +++ b/.mise/tasks/__template__ @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# mise description="abc" +set -euxo pipefail + diff --git a/.mise/tasks/dev b/.mise/tasks/dev deleted file mode 100755 index 4a0f20e..0000000 --- a/.mise/tasks/dev +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# mise description="run the backend" -set -euxo pipefail - -cd Backend -docker-compose -f deploy/docker-compose.yml -f deploy/docker-compose.otlp.yml -f deploy/docker-compose.dev.yml --project-directory . up --build diff --git a/.mise/tasks/run.py b/.mise/tasks/run.py new file mode 100755 index 0000000..c1b9028 --- /dev/null +++ b/.mise/tasks/run.py @@ -0,0 +1,61 @@ +#!/usr/bin/env scriptisto + +# scriptisto-begin +# script_src: script.py +# build_once_cmd: virtualenv -p python3 . && . ./bin/activate && pip install mypy click sh +# build_cmd: . ./bin/activate && mypy script.py && python3 -m compileall . && chmod +x ./run.sh +# target_bin: ./run.sh +# files: +# - path: run.sh +# content: | +# #!/bin/sh +# export DIR=$(dirname $0) +# . $DIR/bin/activate +# python3 $DIR/script.py $@ +# scriptisto-end + +""" +This script is used to run docker-compose commands. + +ref: +- https://martinheinz.dev/blog/98 +""" + +import click +import sh # type: ignore +import os + +git = sh.Command("git") + +class ComposeCmd: + def __init__(self, verb: str = "up"): + self.compose_files = [ + "Deployment/compose.yml" + ] + self.verb = verb + self.verb_additional_flags = { + "up": "--build" + } + + def run(self): + click.echo(click.style(f"Running docker-compose {self.verb}...", fg="green")) + + + # cd to root project directory(git root dir) + git_root = git("rev-parse", "--show-toplevel").strip() + os.chdir(git_root) + + # click.echo(click.style(f"cwd: {os.getcwd()}", fg="yellow")) + + compose_files_cmdpart = " ".join([f"-f {file}" for file in self.compose_files]) + + os.system(f"docker-compose -p gebwai {compose_files_cmdpart} --project-directory . {self.verb} {self.verb_additional_flags.get(self.verb, '')}") + +@click.command() +@click.argument("verb", default="up") +def main(verb: str): + compose_cmd = ComposeCmd(verb) + compose_cmd.run() + +if __name__ == "__main__": + main()