Skip to content

cherrypick#10001

Merged
alphanota merged 5 commits intoGoogleContainerTools:release/v2.17from
menahyouyeah:cherrypick
Mar 4, 2026
Merged

cherrypick#10001
alphanota merged 5 commits intoGoogleContainerTools:release/v2.17from
menahyouyeah:cherrypick

Conversation

@menahyouyeah
Copy link
Copy Markdown
Contributor

menahyouyeah and others added 5 commits March 3, 2026 21:57
delete webhooks used to display what the docs would look like with a PR change
…ntainerTools#9993)

Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.1 to 1.6.3.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](cloudflare/circl@v1.6.1...v1.6.3)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-version: 1.6.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* debug migrating to Kokoro instances - pared down PR

* switch to new project in presubmit.sh

* pared down to just one test

* tag skaffold-builder image with commit and push to AR

* use buildx with --load

* jib errors

* remove wrong project

* jib updates
…load/python (GoogleContainerTools#9989)

chore: bump flask in /integration/examples/hot-reload/python

Bumps [flask](https://github.com/pallets/flask) from 2.2.5 to 3.1.3.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](pallets/flask@2.2.5...3.1.3)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.3
  dependency-type: direct:production
...

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

Bumps [rack](https://github.com/rack/rack) from 2.2.20 to 2.2.22.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](rack/rack@v2.2.20...v2.2.22)

---
updated-dependencies:
- dependency-name: rack
  dependency-version: 2.2.22
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 consolidates several maintenance and infrastructure updates, primarily focusing on the removal of deprecated webhook components, updating various project dependencies, and adapting the build and test environment for migration to new Kokoro instances. These changes aim to streamline the project's build processes, enhance security through dependency upgrades, and ensure compatibility with updated development tools and CI/CD infrastructure.

Highlights

  • Webhook Component Removal: All files related to the webhook-v2 and webhook components, including Dockerfiles, Cloud Build configurations, and Kubernetes deployment manifests, have been removed from the repository.
  • Docker Buildx Integration: Build commands in the Makefile have been updated to use docker buildx build --load, enhancing Docker build capabilities for release and dependency builds.
  • Kokoro Migration Adjustments: Modifications were made to the Makefile to prevent Jib (Maven/Gradle) crashes on Kokoro by setting MAVEN_OPTS and GRADLE_USER_HOME environment variables. Additionally, several integration tests were updated with skip conditions for hybrid environments or new Kokoro instances due to compatibility issues.
  • Dependency Updates: Key dependencies have been bumped: github.com/cloudflare/circl from 1.6.1 to 1.6.3, Flask from 2.2.5 to 3.1.3 in the Python hot-reload example, and rack from 2.2.20 to 2.2.22 in the Ruby backend example.
  • Integration Test Refactoring: The ExternalIP retrieval logic in integration/util.go was refactored to poll for the service IP directly, removing a dependency on a previously used Kubernetes webhook utility function.

🧠 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.

Changelog
  • Makefile
    • Replaced docker build with docker buildx build --load in release, release-build, release-lts, release-lts-build, build_deps, skaffold-builder-ci, and skaffold-builder targets.
    • Added comments explaining a workaround for Jib (Maven/Gradle) crashes on Kokoro.
    • Added MAVEN_OPTS="-Duser.home=/tmp" and GRADLE_USER_HOME="/tmp/.gradle" environment variables to the integration-in-docker target.
  • deploy/webhook-v2/Dockerfile
    • Removed the Dockerfile for webhook-v2.
  • deploy/webhook-v2/cloudbuild.yaml
    • Removed the Cloud Build configuration for webhook-v2.
  • deploy/webhook-v2/deployment.yaml
    • Removed the Kubernetes deployment manifest for webhook-v2.
  • deploy/webhook-v2/skaffold.yaml
    • Removed the Skaffold configuration for webhook-v2.
  • deploy/webhook/Dockerfile
    • Removed the Dockerfile for the original webhook.
  • deploy/webhook/cloudbuild.yaml
    • Removed the Cloud Build configuration for the original webhook.
  • deploy/webhook/deployment.yaml
    • Removed the Kubernetes deployment manifest for the original webhook.
  • deploy/webhook/skaffold.yaml
    • Removed the Skaffold configuration for the original webhook.
  • examples/ruby/backend/Gemfile.lock
    • Updated the rack dependency from 2.2.20 to 2.2.22.
  • go.mod
    • Updated the github.com/cloudflare/circl dependency from v1.6.1 to v1.6.3.
  • go.sum
    • Updated checksums for github.com/cloudflare/circl to reflect the v1.6.3 version.
  • integration/build_dependencies_test.go
    • Imported the os package.
    • Added a skip condition for TestBuildDependenciesCache when running in a hybrid environment.
  • integration/build_test.go
    • Added a skip condition for TestRunWithDockerAndBuildArgs when running in a hybrid environment.
  • integration/examples/hot-reload/python/requirements.txt
    • Updated the Flask dependency from 2.2.5 to 3.1.3.
  • integration/multiplatform_test.go
    • Added skip conditions to TestMultiPlatformWithRun, TestMultiplatformWithDevAndDebug, and TestMultiplatformWithDeploy for hybrid environments during Kokoro migration.
  • integration/remote_config_dependency_test.go
    • Added a skip condition for TestRenderWithGCBRepositoryRemoteDependency due to incompatibility with new Kokoro instances.
  • integration/util.go
    • Removed the import for k8s "github.com/GoogleContainerTools/skaffold/v2/pkg/webhook/kubernetes".
    • Refactored the ExternalIP function to poll for the service's external IP directly, removing reliance on the removed k8s.GetExternalIP function.
  • pkg/webhook/gcs/gcs.go
    • Removed the GCS utility file for webhooks.
  • pkg/webhook/kubernetes/cleanup.go
    • Removed the Kubernetes cleanup utility file for webhooks.
  • pkg/webhook/kubernetes/deployment.go
    • Removed the Kubernetes deployment utility file for webhooks.
  • pkg/webhook/kubernetes/service.go
    • Removed the Kubernetes service utility file for webhooks.
  • vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go
    • Added //nolint:gosec comments to unsafe.Pointer usages.
  • vendor/github.com/cloudflare/circl/sign/sign.go
    • Added a new Seeded interface.
  • vendor/modules.txt
    • Updated the version comment for github.com/cloudflare/circl to v1.6.3.
  • webhook/webhook.go
    • Removed the main webhook application file.
Activity
  • This pull request appears to be a cherry-pick of multiple commits, indicated by the PR title and body listing several 'chore' and 'migration' tasks.
  • No specific review comments or discussions were provided in the context.
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.

Copy link
Copy Markdown
Contributor

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

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 includes a variety of changes, such as deleting the webhooks feature, updating several dependencies, and migrating to new CI instances which involved skipping some tests and updating the Makefile. The changes are mostly chores and maintenance. I've found one area for improvement in the error handling within a polling function in the test utilities.

Note: Security Review is unavailable for this PR.

Comment on lines +404 to +407
if err != nil {
// Return false, nil to keep polling if the service isn't found yet
return false, nil
}
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

The current implementation swallows all errors from k.Services().Get, causing the poll to continue until it times out, even for non-transient errors like permission issues. This can make debugging test failures more difficult as the original error is hidden. It would be more robust to only ignore NotFound errors and fail fast on other errors.

You'll need to add apierrors "k8s.io/apimachinery/pkg/api/errors" to your imports.

if err != nil {
		if apierrors.IsNotFound(err) {
			// Return false, nil to keep polling if the service isn't found yet
			return false, nil
		}
		// For other errors, fail fast.
		return false, err
	}

@menahyouyeah menahyouyeah added the kokoro:force-run forces a kokoro re-run on a PR label Mar 4, 2026
@menahyouyeah menahyouyeah marked this pull request as ready for review March 4, 2026 15:15
@menahyouyeah menahyouyeah requested a review from a team as a code owner March 4, 2026 15:15
@menahyouyeah menahyouyeah added kokoro:force-run forces a kokoro re-run on a PR and removed kokoro:force-run forces a kokoro re-run on a PR labels Mar 4, 2026
@alphanota alphanota merged commit ea3e642 into GoogleContainerTools:release/v2.17 Mar 4, 2026
18 of 38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kokoro:force-run forces a kokoro re-run on a PR size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants