From f4d1f2a303b512899675b70376e0436f57fe4ba7 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Wed, 16 Jul 2025 22:16:22 +0200 Subject: [PATCH] Added partial test and skip-build flag --- Makefile | 5 ++++- cli/deploy.py | 21 +++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index ec38815a..7751d7f1 100644 --- a/Makefile +++ b/Makefile @@ -61,8 +61,11 @@ build: clean dockerignore install: build @echo "⚙️ Install complete." -test: build +partial-test: @echo "🧪 Running Python tests…" python -m unittest discover -s tests @echo "📑 Checking Ansible syntax…" ansible-playbook playbook.yml --syntax-check + +test: build partial-test + @echo "Full test with build terminated." diff --git a/cli/deploy.py b/cli/deploy.py index 9e535cb4..1538cb2e 100644 --- a/cli/deploy.py +++ b/cli/deploy.py @@ -14,14 +14,18 @@ def run_ansible_playbook( password_file=None, verbose=0, skip_tests=False, - skip_validation=False + skip_validation=False, + skip_build=False, # <-- new parameter ): start_time = datetime.datetime.now() print(f"\n▶️ Script started at: {start_time.isoformat()}\n") - - print("\n🛠️ Building project (make build)...\n") - subprocess.run(["make", "build"], check=True) - + + if not skip_build: + print("\n🛠️ Building project (make build)...\n") + subprocess.run(["make", "build"], check=True) + else: + print("\n⚠️ Skipping build as requested.\n") + script_dir = os.path.dirname(os.path.realpath(__file__)) playbook = os.path.join(os.path.dirname(script_dir), "playbook.yml") @@ -154,6 +158,10 @@ def main(): "-V", "--skip-validation", action="store_true", help="Skip inventory validation before deployment." ) + parser.add_argument( + "-B", "--skip-build", action="store_true", + help="Skip running 'make build' before deployment." + ) parser.add_argument( "-i", "--id", nargs="+", @@ -187,7 +195,8 @@ def main(): password_file=args.password_file, verbose=args.verbose, skip_tests=args.skip_tests, - skip_validation=args.skip_validation + skip_validation=args.skip_validation, + skip_build=args.skip_build # Pass the new param )