Skip to content

chore: bump setup-envtest#2059

Merged
google-oss-prow[bot] merged 1 commit intoGoogleContainerTools:mainfrom
Camila-B:setup-envtest
Feb 13, 2026
Merged

chore: bump setup-envtest#2059
google-oss-prow[bot] merged 1 commit intoGoogleContainerTools:mainfrom
Camila-B:setup-envtest

Conversation

@Camila-B
Copy link
Contributor

This is needed as the current version depends on a GCS bucket that may no longer exist. This dependency is removed in the updated version kubernetes-sigs/controller-runtime#2915.

Example error: https://oss.gprow.dev/view/gs/oss-prow-build-kpt-config-sync/pr-logs/pull/GoogleContainerTools_config-sync/2055/kpt-config-sync-presubmit/2022111846328176640

@Camila-B Camila-B requested review from tiffanny29631 and removed request for janetkuo February 13, 2026 01:20
@gemini-code-assist
Copy link

Summary of Changes

Hello @Camila-B, 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 updates the setup-envtest tool to a more recent version, primarily to address a critical issue where older versions relied on a GCS bucket that might no longer be accessible. The update refactors the tool's remote binary fetching mechanism, moving away from a GCS-specific client to a more flexible HTTP client that uses a YAML-based index for discovering envtest binaries. This change enhances the tool's robustness and maintainability. Additionally, other Go module dependencies, including gomega and afero, have been bumped to their latest versions.

Highlights

  • Dependency Update: Updated sigs.k8s.io/controller-runtime/tools/setup-envtest to a newer version to resolve issues with GCS bucket dependencies, as the previous version relied on a potentially non-existent GCS bucket.
  • Refactored Remote Client: The setup-envtest tool's remote client has been refactored to use a generic HTTP client and a YAML-based index for binary discovery, replacing the previous GCS-specific integration.
  • New version Command: A new version command was introduced in setup-envtest to display the tool's own version information.
  • Other Dependency Bumps: Updated github.com/onsi/gomega and github.com/spf13/afero dependencies to their latest versions.

🧠 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
  • go.mod
    • Updated sigs.k8s.io/controller-runtime/tools/setup-envtest to a newer version.
    • Updated github.com/onsi/gomega to v1.39.0.
    • Updated github.com/spf13/afero to v1.12.0.
  • go.sum
    • Updated checksums for sigs.k8s.io/controller-runtime/tools/setup-envtest.
    • Updated checksums for github.com/onsi/gomega.
    • Updated checksums for github.com/spf13/afero.
  • vendor/github.com/onsi/gomega/format/format.go
    • Modified formatValue and formatString functions to accept an isTopLevel boolean parameter, affecting how values are formatted.
  • vendor/github.com/spf13/afero/.editorconfig
    • Added editor configuration settings.
  • vendor/github.com/spf13/afero/.golangci.yaml
    • Added golangci-lint configuration with specific linters and excluded directories.
  • vendor/github.com/spf13/afero/README.md
    • Corrected a phrase in the description of Afero's capabilities.
  • vendor/github.com/spf13/afero/iofs.go
    • Removed an unnecessary blank line in the Readdir function.
  • vendor/github.com/spf13/afero/memmap.go
    • Cleaned up import statements by removing blank lines.
  • vendor/modules.txt
    • Updated version references for github.com/onsi/gomega to v1.39.0.
    • Updated version references for github.com/spf13/afero to v1.12.0 and adjusted Go version requirement.
    • Updated version references for sigs.k8s.io/controller-runtime/tools/setup-envtest and adjusted Go version requirement.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/README.md
    • Updated installation instructions to specify Go 1.23+ and added guidance for Go 1.22.
    • Introduced information about downloading from a custom index using the --index flag.
    • Removed documentation for GCS-specific remote bucket and server options.
    • Clarified descriptions for --use-env and sideload commands.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/env/env.go
    • Corrected typo from VerifiySum to VerifySum.
    • Updated comments to reflect changes from GCS to generic remote services.
    • Changed Client field type from *remote.Client to remote.Client (interface).
    • Replaced MD5 with a generic Hash struct in PlatformItem.
    • Corrected typos in comments from correspoding to corresponding and platorm to platform.
    • Updated comments regarding md5 to hash.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/main.go
    • Removed remoteBucket and remoteServer flags.
    • Introduced an index flag to specify the URL for discovering envtest binaries.
    • Updated client initialization to use the new remote.HTTPClient.
    • Added a new version command to display the tool's version.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/remote/client.go
    • Refactored Client from a concrete struct to an interface, abstracting remote storage details.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/remote/http_client.go
    • Added a new file defining HTTPClient which implements the remote.Client interface.
    • Implemented logic to fetch envtest binary archives from a YAML-based index via HTTP.
    • Defined Index, Release, and Archive structs for parsing the index YAML.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/remote/read_body.go
    • Added a new file containing readBody function for reading HTTP responses and performing hash verification (MD5 or SHA512).
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/store/store.go
    • Corrected typo in comment from wilcards to wildcards.
    • Removed //nolint:gosec comment for io.Copy.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/version/version.go
    • Added a new file to provide the setup-envtest tool's version, falling back to module info if not set via ldflags.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/versions/parse.go
    • Removed OnlyConcreteVersionRE regular expression.
    • Corrected typo in comment from wilcard to wildcard.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/versions/platform.go
    • Changed ArchiveName prefix from kubebuilder-tools- to envtest-v.
    • Replaced MD5 field in PlatformItem with a more generic Hash struct.
    • Introduced Hash struct, HashType, and HashEncoding enums to support different hashing algorithms and encodings.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/versions/version.go
    • Corrected typo in comment from wilcards to wildcards.
  • vendor/sigs.k8s.io/controller-runtime/tools/setup-envtest/workflows/workflows.go
    • Imported fmt and version packages.
    • Added a new Version workflow to print the tool's version.
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

@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 bumps the setup-envtest dependency to a version that removes the hardcoded dependency on a GCS bucket, resolving potential build failures. The updated version now uses a generic HTTP-based index to fetch envtest binaries. The changes, which are confined to vendored files, look correct and include several small improvements and typo fixes. I have one minor suggestion for a typo in a comment.

Copy link
Contributor

@tiffanny29631 tiffanny29631 left a comment

Choose a reason for hiding this comment

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

/lgtm

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tiffanny29631

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit ba78558 into GoogleContainerTools:main Feb 13, 2026
7 checks passed
Camila-B added a commit to Camila-B/kpt-config-sync that referenced this pull request Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants