Skip to content

Commit 629bc26

Browse files
author
Taniya Mathur
committed
updating ai summary logging
1 parent 95879b8 commit 629bc26

File tree

1 file changed

+30
-10
lines changed

1 file changed

+30
-10
lines changed

scripts/codebuild_deployment.py

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,6 @@ def deploy_and_test_pattern(stack_prefix, pattern_config, admin_email, template_
228228
"error": f"Deployment/testing failed: {str(e)}"
229229
}
230230

231-
# Always cleanup the stack regardless of success/failure
232-
finally:
233-
cleanup_stack(stack_name, pattern_name)
234-
235231
return success_result
236232

237233

@@ -480,7 +476,8 @@ def generate_deployment_summary(deployment_results, stack_prefix, template_url):
480476
Error: Failed to generate AI analysis: {e}
481477
""")
482478

483-
def cleanup_stack(stack_name, pattern_name):
479+
def cleanup_single_stack(stack_name, pattern_name):
480+
"""Clean up a single stack"""
484481
print(f"[{pattern_name}] Cleaning up: {stack_name}")
485482
try:
486483
# Check stack status first
@@ -539,6 +536,32 @@ def cleanup_stack(stack_name, pattern_name):
539536
print(f"[{pattern_name}] ⚠️ Cleanup failed: {e}")
540537

541538

539+
def cleanup_stacks(deployment_results):
540+
"""Clean up multiple stacks in parallel"""
541+
stacks_to_cleanup = [
542+
(result["stack_name"], result["pattern_name"])
543+
for result in deployment_results
544+
if result.get("stack_name") and result["stack_name"] != "N/A"
545+
]
546+
547+
if not stacks_to_cleanup:
548+
print("No stacks to cleanup")
549+
return
550+
551+
print(f"🧹 Starting parallel cleanup of {len(stacks_to_cleanup)} stacks...")
552+
553+
with ThreadPoolExecutor(max_workers=len(stacks_to_cleanup)) as executor:
554+
futures = [
555+
executor.submit(cleanup_single_stack, stack_name, pattern_name)
556+
for stack_name, pattern_name in stacks_to_cleanup
557+
]
558+
559+
for future in as_completed(futures):
560+
try:
561+
future.result()
562+
except Exception as e:
563+
print(f"⚠️ Cleanup task failed: {e}")
564+
542565
def main():
543566
"""Main execution function"""
544567
print("Starting CodeBuild deployment process...")
@@ -612,7 +635,6 @@ def main():
612635
})
613636

614637
# Step 3: Generate deployment summary using Bedrock (but don't print yet)
615-
print("\n🤖 Generating deployment summary with Bedrock...")
616638
ai_summary = None
617639
try:
618640
if not publish_success:
@@ -623,12 +645,10 @@ def main():
623645
ai_summary = f"⚠️ Failed to generate deployment summary: {e}"
624646

625647
# Step 4: Cleanup stacks after analysis
626-
print("\n🧹 Starting cleanup of deployed stacks...")
627-
for result in deployment_results:
628-
if result.get("stack_name") and result["stack_name"] != "N/A":
629-
cleanup_stack(result["stack_name"], result["pattern_name"])
648+
cleanup_stacks(deployment_results)
630649

631650
# Step 5: Print AI analysis results at the end
651+
print("\n🤖 Generating deployment summary with Bedrock...")
632652
if ai_summary:
633653
print(ai_summary)
634654

0 commit comments

Comments
 (0)