GRM-51: fix: API resilience with retry, idempotent releases, and graceful Vikunja errors

This commit is contained in:
2026-06-22 01:22:45 +00:00
parent 5cd7c15d11
commit 599fc17dd3
8 changed files with 447 additions and 40 deletions
+9 -3
View File
@@ -116,13 +116,19 @@ def main(commit_msg: str, commit_sha: str) -> None:
client.post_comment(vikunja_task_id, html)
client.update_task(vikunja_task_id, done=True)
except APIError as e:
raise click.ClickException(
# Vikunja is a project management tool — if it's down, the merge
# still succeeded. Warn but don't fail the post-merge workflow.
click.echo(
_(
"Vikunja API error: HTTP {status} {message}",
"Warning: Vikunja API error (HTTP {status}): {message}. "
"Task {task_id} was NOT updated. The merge succeeded — "
"please update the Vikunja task manually.",
status=e.status,
message=e.message,
task_id=task_id,
)
) from None
)
return
click.echo(
_(