fix(ci): keep commit lookup failures from blocking notices

This commit is contained in:
Kurt Himebauch committed 2026-11-08 21:12:58 -05:00
1 parent b4a953c659
commit 51407155fc
2 files changed
+15 -2

No files matched your search

+5 -2
View File
@@ -157,8 +157,11 @@ def sync(mode, repo, number, discord, sha="", apk="", release=""):
{"content": retired_content(message["content"], pull.get("merged", False)),
"allowed_mentions": {"parse": []}, "flags": 4})
return
commit = github(f"repos/{repo}/commits/{sha}")
commit_message = commit.get("commit", {}).get("message", "")
try:
commit = github(f"repos/{repo}/commits/{sha}")
except RuntimeError:
commit = {}
commit_message = (commit.get("commit") or {}).get("message", "")
content = build_content(repo, number, pull["title"], sha, apk, release, pull.get("body"), commit_message)
if len(content) > 1800:
raise RuntimeError("Discord announcement is too long")
+10
View File
@@ -240,6 +240,16 @@ class PrDiscordTest(unittest.TestCase):
self.assertIn(r"Latest commit: Fix \*input\* @everyone", content)
self.assertNotIn("Details", content)
def test_commit_lookup_failure_does_not_block_announcement(self):
def unavailable_commit(path, method="GET", body=None):
if "/commits/" in path:
raise RuntimeError("GitHub request failed")
return self.pull if "/pulls/" in path else self.comment
self.github.side_effect = unavailable_commit
self.publish()
self.assertEqual("POST", self.discord.request.call_args.args[0])
self.assertNotIn("Latest commit:", self.discord.request.call_args.args[2]["content"])
original_report = module.report_comment