Repository navigation
Fall back across registries when pulling the musl build image - #40
Merged
Merged
Conversation
ECR Public returned "toomanyrequests: Data limit exceeded" to the x64 musl runner, an anonymous per-IP quota shared with every other tenant on that runner IP. Pull the pinned digest from mirror.gcr.io, ECR Public, then Docker Hub, and tag it locally so later steps do not depend on which registry served it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
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.
Why
The scheduled 11.12.0 build (run 40440107271) failed on the
linux-x64-muslleg because ECR Public refused to serve the alpine image:When you pull without logging in, ECR Public limits how much data each IP can download. GitHub-hosted runners share IPs with other customers, so that runner's quota was already spent before our job ran. The arm64 musl leg in the same run pulled the image fine. Retrying couldn't help because the quota resets monthly, not within minutes.
We moved from Docker Hub to ECR in 8177629 because Docker Hub's login-token service was timing out. Each registry has now failed on its own, so the fix is to stop depending on any single one.
What changed
mirror.gcr.io, then ECR Public, then Docker Hub, all at the same pinned digest. It retries the full list 3 times with backoff. I confirmed that all three registries serve the same digest, so whichever one answers, we build on identical bytes.rocksdb-musl-build. The build and verify steps use that name, so they don't depend on which registry served the image.apk addinstalls the latest 3.24 packages either way.Testing
actionlintreports nothing in the changed lines. The workflow has not been re-run yet.🤖 Generated with Claude Code