discourse-release: wait and retry when the forum rate-limits #10

Merged
jcoffey-dev merged 1 commits from discourse-release/retry-rate-limit into main 2026-10-29 18:49:59 +00:00
Owner

Two releases published together (inbuxa-server v2026.10.29 and v27.1-rc.2 on 2026-10-29) reached the forum 14 s apart. Discourse answered the second with 429 ("wait 14 seconds") and that announce job failed; publish.yml posted it later, so nothing was lost, but the run showed red.

On 429 the script now waits the extras.wait_seconds Discourse gives (15 s when it gives none, 60 s at most) and tries again, three times in all. A retry cannot double-post: the external_id makes a repeat a 422, which is already treated as announced.

Checked: bash -n, and the wait parsing against 14, 300, a missing value, a non-number and a body that is not JSON (14, 60, 15, 15, 15). inbuxa-server moves its pin to this commit in its own PR; other repos can take it when they next touch their workflows.

Two releases published together (inbuxa-server v2026.10.29 and v27.1-rc.2 on 2026-10-29) reached the forum 14 s apart. Discourse answered the second with 429 ("wait 14 seconds") and that announce job failed; publish.yml posted it later, so nothing was lost, but the run showed red. On 429 the script now waits the `extras.wait_seconds` Discourse gives (15 s when it gives none, 60 s at most) and tries again, three times in all. A retry cannot double-post: the external_id makes a repeat a 422, which is already treated as announced. Checked: `bash -n`, and the wait parsing against 14, 300, a missing value, a non-number and a body that is not JSON (14, 60, 15, 15, 15). inbuxa-server moves its pin to this commit in its own PR; other repos can take it when they next touch their workflows.
jcoffey-dev added 1 commit 2026-10-29 18:46:15 +00:00
Two releases published together (inbuxa-server's main and release/2026
on 2026-10-29) reached the forum 14 s apart; Discourse answered the
second with 429 and the job failed. On 429 the script now waits the
wait_seconds Discourse gives (15 s when it gives none, 60 s at most)
and tries again, three times in all. A retry can't double-post: the
external_id makes a repeat a 422, which is already treated as announced.
jcoffey-dev merged commit 958b3a35a3 into main 2026-10-29 18:49:59 +00:00
jcoffey-dev deleted branch discourse-release/retry-rate-limit 2026-10-29 18:49:59 +00:00
Sign in to join this conversation.