promote_next: tolerate a card another beat already promoted
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UpT7eWzeLhRwuYmsSQnbRb
This commit is contained in:
1 parent
750d9a9fad
commit
c3d029cab9
1 file changed
+6
-1
@@ -267,7 +267,12 @@ def promote_next() -> int | None:
|
||||
for card in sorted(queued, key=lambda i: i["number"]):
|
||||
deps = [int(d) for d in re.findall(r"Depends on #(\d+)", card.get("body") or "")]
|
||||
if all(gh("GET", f"/repos/{REPO}/issues/{d}")["state"] == "closed" for d in deps):
|
||||
gh("DELETE", f"/repos/{REPO}/issues/{card['number']}/labels/queued")
|
||||
try:
|
||||
gh("DELETE", f"/repos/{REPO}/issues/{card['number']}/labels/queued")
|
||||
except RuntimeError as e:
|
||||
if "404" in str(e): # another beat promoted it first
|
||||
continue
|
||||
raise
|
||||
gh("POST", f"/repos/{REPO}/issues/{card['number']}/labels", {"labels": ["ready"]})
|
||||
return card["number"]
|
||||
return None
|
||||
|
||||
Reference in new issue
Block a user