Skip to content

test(integration): Update busybox and alpine:3 to use the mirror to avoid docker rate hub limit errors#9966

Merged
menahyouyeah merged 1 commit into
GoogleContainerTools:mainfrom
menahyouyeah:update-mirror
Feb 3, 2026
Merged

test(integration): Update busybox and alpine:3 to use the mirror to avoid docker rate hub limit errors#9966
menahyouyeah merged 1 commit into
GoogleContainerTools:mainfrom
menahyouyeah:update-mirror

Conversation

@menahyouyeah

Copy link
Copy Markdown
Contributor

Fixes: #nnn
Related: Relevant tracking issues, for context
Merge before/after: Dependent or prerequisite PRs

Description
Update busybox and alpine:3 to use the mirror to avoid docker rate hub limit errors

@menahyouyeah menahyouyeah requested a review from a team as a code owner February 2, 2026 20:43
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @menahyouyeah, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on enhancing the reliability of integration tests and examples by modifying their Dockerfiles to pull alpine:3 and busybox base images from mirror.gcr.io/library/ instead of directly from Docker Hub. This strategic shift is intended to circumvent Docker Hub's rate limiting, thereby preventing build failures and ensuring consistent performance for image acquisition within the development and testing workflows.

Highlights

  • Docker Image Mirroring: Updated numerous Dockerfiles across integration tests and examples to use mirror.gcr.io/library/ for alpine:3 and busybox base images.
  • Rate Limit Mitigation: This change directly addresses and aims to prevent Docker Hub rate limit errors that can occur during image pulls, ensuring more reliable builds.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates numerous Dockerfiles to use a GCR mirror for alpine and busybox base images, which is a great move to avoid Docker Hub rate limits and improve CI stability. The changes are consistent and correct across all files. I've added a couple of suggestions to further improve build reproducibility by pinning the base image versions to specific tags instead of floating ones. Overall, this is a solid and necessary change.

RUN go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -trimpath -o /app main.go

FROM alpine:3
FROM mirror.gcr.io/library/alpine:3

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better reproducibility of builds, it's a good practice to pin the base image to a specific version instead of using a floating tag like :3. This prevents unexpected changes or breakages when a new version is released under the 3 tag. I'd suggest using a more specific version, for example 3.18. This comment applies to all other Dockerfiles in this PR that use alpine:3.

FROM mirror.gcr.io/library/alpine:3.18
@@ -1,5 +1,5 @@
ARG image2
FROM busybox as builder
FROM mirror.gcr.io/library/busybox as builder

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To ensure reproducible builds, it's recommended to pin the busybox image to a specific version instead of relying on the implicit latest tag. This will prevent your builds from breaking unexpectedly when a new latest is pushed. I'd suggest using a specific tag, for example 1.36. This comment applies to all other Dockerfiles in this PR that use busybox.

FROM mirror.gcr.io/library/busybox:1.36 as builder
@menahyouyeah menahyouyeah added the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@kokoro-team kokoro-team removed the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@menahyouyeah menahyouyeah added the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@kokoro-team kokoro-team removed the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@menahyouyeah menahyouyeah added the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@kokoro-team kokoro-team removed the kokoro:force-run forces a kokoro re-run on a PR label Feb 3, 2026
@menahyouyeah menahyouyeah merged commit 6605bbf into GoogleContainerTools:main Feb 3, 2026
12 of 29 checks passed
@menahyouyeah menahyouyeah deleted the update-mirror branch February 4, 2026 16:15
Darien-Lin pushed a commit to Darien-Lin/skaffold that referenced this pull request Feb 12, 2026
…void docker rate hub limit errors (GoogleContainerTools#9966)

test(integration): mirror busybox and alpine:3 images to gcr.io
@Darien-Lin Darien-Lin mentioned this pull request Feb 12, 2026
Darien-Lin added a commit that referenced this pull request Feb 12, 2026
* chore: bump github.com/sigstore/cosign/v2 from 2.6.1 to 2.6.2 (#9948)

Bumps [github.com/sigstore/cosign/v2](https://github.com/sigstore/cosign) from 2.6.1 to 2.6.2.
- [Release notes](https://github.com/sigstore/cosign/releases)
- [Changelog](https://github.com/sigstore/cosign/blob/main/CHANGELOG.md)
- [Commits](sigstore/cosign@v2.6.1...v2.6.2)

---
updated-dependencies:
- dependency-name: github.com/sigstore/cosign/v2
  dependency-version: 2.6.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* cicd: bazel github presubmit flow fixes for recent bazel 9.0.0 release (#9961)

bazel build fixes for recent bazel 9.0.0 release

* chore: bump github.com/sigstore/sigstore from 1.10.3 to 1.10.4 (#9957)

Bumps [github.com/sigstore/sigstore](https://github.com/sigstore/sigstore) from 1.10.3 to 1.10.4.
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](sigstore/sigstore@v1.10.3...v1.10.4)

---
updated-dependencies:
- dependency-name: github.com/sigstore/sigstore
  dependency-version: 1.10.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump github.com/sigstore/rekor from 1.4.3 to 1.5.0 (#9956)

Bumps [github.com/sigstore/rekor](https://github.com/sigstore/rekor) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/sigstore/rekor/releases)
- [Changelog](https://github.com/sigstore/rekor/blob/main/CHANGELOG.md)
- [Commits](sigstore/rekor@v1.4.3...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/sigstore/rekor
  dependency-version: 1.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump github.com/theupdateframework/go-tuf/v2 from 2.3.0 to 2.4.1 (#9962)

Bumps [github.com/theupdateframework/go-tuf/v2](https://github.com/theupdateframework/go-tuf) from 2.3.0 to 2.4.1.
- [Release notes](https://github.com/theupdateframework/go-tuf/releases)
- [Commits](theupdateframework/go-tuf@v2.3.0...v2.4.1)

---
updated-dependencies:
- dependency-name: github.com/theupdateframework/go-tuf/v2
  dependency-version: 2.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(integration): Update busybox and alpine:3 to use the mirror to avoid docker rate hub limit errors (#9966)

test(integration): mirror busybox and alpine:3 images to gcr.io

* chore: bump github.com/go-git/go-git/v5 from 5.16.3 to 5.16.5 (#9971)

Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.16.3 to 5.16.5.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](go-git/go-git@v5.16.3...v5.16.5)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-version: 5.16.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump golang.org/x/oauth2 from 0.7.0 to 0.27.0 in /examples/grpc-e2e-tests/service (#9918)

chore: bump golang.org/x/oauth2 in /examples/grpc-e2e-tests/service

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.7.0 to 0.27.0.
- [Commits](golang/oauth2@v0.7.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump golang.org/x/crypto from 0.36.0 to 0.45.0 in /hack/tools (#9916)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.45.0.
- [Commits](golang/crypto@v0.36.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Use mirror in Dockerfiles for integration tests to prevent docker hub rate limits (#9970)

* use mirror in Dockerfiles for integration tests

* use argument prefix instead

* fix for multi stage

* more fixes

* fix buildx-bin error

* Bring back comments

* missed a comment

* chore: upgrade golang to 1.25.7 (#9973)

Co-authored-by: Darien-Lin <darienl@google.com>

* Updated Dockerfile to try to fix vuln bug (#9974)

* Updated Dockerfile to try to fix vuln bug

* Addressed the gemini-code-assist comments

* Fixed the dockerfile so it runs using docker build -f deploy/webhook-v2/Dockerfile .

* Updated the node version to fix error (#9976)

* Updated Dockerfile to try to fix vuln bug

* Addressed the gemini-code-assist comments

* Fixed the dockerfile so it runs using docker build -f deploy/webhook-v2/Dockerfile .

* Updated node version to try and fix error

* chore: fixing docs due to upgrade in Hugo (#9977)

fixing docs due to upgrade in Hugo

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: menahyouyeah <minnah@google.com>
Co-authored-by: Darien-Lin <darienl@google.com>
Co-authored-by: ruhi-chaddha <ruhichaddha@google.com>
orospakr pushed a commit to orospakr/skaffold-spawnexec that referenced this pull request May 14, 2026
…void docker rate hub limit errors (GoogleContainerTools#9966)

test(integration): mirror busybox and alpine:3 images to gcr.io
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 participants