Repository navigation
Retry the site redeploy request when GitHub returns a server error - #190
Open
marcosqlbi wants to merge 1 commit into
Open
marcosqlbi wants to merge 1 commit into
marcosqlbi wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When 1.7.6 was released, the redeploy job asked for a deployment from main and GitHub answered
HTTP 502: Server Error. The job failed after one attempt, nothing deployed, and the site kept offering 1.7.5 until Publish site was run by hand (run 277).The 502 had still created a run, 276, with no jobs. It stays queued, and GitHub refuses both cancel and force-cancel on it. It did not block run 277.
What changes
The step that runs
gh workflow run publish-site.ymlnow tries up to five times when the error is an HTTP 5xx, waiting 15, 30, 45, and 60 seconds between attempts, with a warning on each retry. Any other error fails at once, because asking again would get the same answer. After five server errors the job fails with a message saying to run Publish site on main with the tag by hand.A retry after a 5xx can start a second deployment if the first request did go through. That is harmless, because the
pagesconcurrency group runs deployments one at a time, and both deploy main for the same tag.Testing
The step's script was extracted from the YAML and run under
bash -e -o pipefail, the shell GitHub uses, with a fakegh:The real path only runs on the next release.
🤖 Generated with Claude Code