From 81efad83f9a910315ecd62d8c1682bb43f2d665f Mon Sep 17 00:00:00 2001 From: Hera Zhao Date: Mon, 6 Apr 2026 21:35:39 +0000 Subject: [PATCH] Fix preview deploy: add rollout restart after kubectl apply Without restart, K8s reuses cached pods even with imagePullPolicy: Always when the manifest spec hasn't changed. Co-Authored-By: Claude Opus 4.6 (1M context) --- scripts/deploy-preview.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/deploy-preview.py b/scripts/deploy-preview.py index d901d7f..508d393 100644 --- a/scripts/deploy-preview.py +++ b/scripts/deploy-preview.py @@ -198,9 +198,10 @@ def deploy(pr_id: str): kubectl("apply", "-f", str(p)) p.unlink() - # 5. Wait for rollout - print("[5/5] Waiting for rollout...") - kubectl("rollout", "status", f"deploy/oil-calculator", "-n", ns, "--timeout=120s") + # 5. Restart to pick up new image and wait + print("[5/5] Restarting deployment...") + kubectl("rollout", "restart", "deploy/oil-calculator", "-n", ns) + kubectl("rollout", "status", "deploy/oil-calculator", "-n", ns, "--timeout=120s") # Cleanup run("rm -rf data/oil_calculator.db", check=False)