Add error handling for release notes generation with fallback to static message
- Wrap previous_published_release_tag, collect_release_commits, and generate_release_body_with_openrouter in try-except block - Catch SystemExit to handle generation failures gracefully - Initialize previous_release_tag, commits, and body with default values before try block - Fall back to "Failed to generate release notes." message on error - Print error message to stderr when release note generation fails - Remove
frdel committed
Mar 26, 2026 at 20:13 UTC
af602e40e9bfd29fd4e6a7d7da4ea142646b0fad
1 file changed
+13
-4
.github/scripts/docker_release_plan.py
+13
-4
@@ -692,14 +692,23 @@ def resolve_release_command() -> None:
692
)
693
return
694
695
- previous_release_tag = previous_published_release_tag(config, source_tag)
696
- commits = collect_release_commits(previous_release_tag, source_tag)
697
- body = generate_release_body_with_openrouter(commits)
695
+ previous_release_tag = ""
696
+ commits: list[CommitEntry] = []
697
+ body = "Failed to generate release notes."
698
+ try:
699
+ previous_release_tag = previous_published_release_tag(config, source_tag) or ""
700
+ commits = collect_release_commits(previous_release_tag or None, source_tag)
701
+ body = generate_release_body_with_openrouter(commits)
702
+ except SystemExit:
703
+ print(
704
+ f"Release note generation failed for `{source_tag}`. Falling back to a static release body.",
705
+ file=sys.stderr,
706
+ )
707
708
write_output("should_release", "true")
709
write_output("release_tag", source_tag)
710
write_output("release_name", source_tag)
702
- write_output("previous_release_tag", previous_release_tag or "")
711
+ write_output("previous_release_tag", previous_release_tag)
712
write_output("release_commit_count", str(len(commits)))
713
write_output("release_body", body)
714
print(source_tag)