diff --git a/scripts/agent_poller.py b/scripts/agent_poller.py index c9443cf..d54c1e8 100644 --- a/scripts/agent_poller.py +++ b/scripts/agent_poller.py @@ -33,7 +33,10 @@ def _req(method, path, data=None): req.add_header("Content-Type", "application/json") try: with urllib.request.urlopen(req) as resp: - return json.loads(resp.read()) + raw = resp.read() + if not raw: + return {} # Gitea merge returns 200 with empty body + return json.loads(raw) except urllib.error.HTTPError as e: body = e.read().decode() print(f"API Error {e.code}: {body}", file=sys.stderr) @@ -153,7 +156,11 @@ def merge_pr(pr_num): sys.exit(1) result = _req("POST", f"/pulls/{pr_num}/merge", {"Do": "merge"}) - if result.get("merged"): + # Verify merge success by re-checking PR state + pr_after = _req("GET", f"/pulls/{pr_num}") + if pr_after.get("merged"): + print(f"PR #{pr_num} merged successfully") + elif result.get("merged"): print(f"PR #{pr_num} merged successfully") else: print(f"Merge result: {result.get('message', 'unknown')}")