Skip to content

Commit 52ba5f9

Browse files
committed
refactor: improve gh command error handling and track incomplete PR data in dashboard results
1 parent 37e8e34 commit 52ba5f9

3 files changed

Lines changed: 21 additions & 5 deletions

File tree

github.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
def _gh_run(cmd):
1313
"""Run a gh command with retry logic. Returns (returncode, stdout, stderr)."""
14+
code = -1
15+
stdout = ""
16+
stderr = ""
1417
last_err = None
1518
for attempt in range(1, GH_RETRIES + 1):
1619
try:
@@ -20,16 +23,25 @@ def _gh_run(cmd):
2023
)
2124
if result.returncode == 0:
2225
return result.returncode, result.stdout, result.stderr
26+
code = result.returncode
27+
stdout = result.stdout
28+
stderr = result.stderr
2329
last_err = result.stderr.strip()
2430
except subprocess.TimeoutExpired:
25-
last_err = "gh command timed out (60s)"
31+
code = -1
32+
stdout = ""
33+
stderr = "gh command timed out (60s)"
34+
last_err = stderr
2635
except Exception as e:
27-
last_err = str(e)
36+
code = -1
37+
stdout = ""
38+
stderr = str(e)
39+
last_err = stderr
2840
if attempt < GH_RETRIES:
2941
print(f" gh retry {attempt}/{GH_RETRIES}{last_err[:80]}")
3042
time.sleep(GH_RETRY_SLEEP)
3143
print(f" gh failed after {GH_RETRIES} retries: {last_err[:120] if last_err else 'unknown'}")
32-
return result.returncode, result.stdout, result.stderr
44+
return code, stdout, stderr
3345

3446

3547
def gh(endpoint):

main.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ def _build_pr_data(raw):
8686
"body": raw.get("body", "") or "",
8787
"files": files,
8888
"coderabbit": coderabbit,
89+
"_incomplete": files_error or cr_error,
8990
}
9091

9192

@@ -116,7 +117,10 @@ def main():
116117
num = raw["number"]
117118
print(f" PR #{num}{raw.get('title', '')[:55]}")
118119
try:
119-
pr_data.append(_build_pr_data(raw))
120+
pr = _build_pr_data(raw)
121+
pr_data.append(pr)
122+
if pr.get("_incomplete"):
123+
failed += 1
120124
except Exception as e:
121125
print(f" ERROR PR #{num}: {e} — using fallback placeholder")
122126
pr_data.append(_build_fallback_pr(raw))

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sentence-transformers
1+
sentence-transformers==5.3.0

0 commit comments

Comments
 (0)