Skip to content

Comments

Merge tool installation rules in Makefile#2067

Open
Camila-B wants to merge 1 commit intoGoogleContainerTools:mainfrom
Camila-B:makefile-simplification
Open

Merge tool installation rules in Makefile#2067
Camila-B wants to merge 1 commit intoGoogleContainerTools:mainfrom
Camila-B:makefile-simplification

Conversation

@Camila-B
Copy link
Contributor

Several tools (kind, go-junit-report, crane) use a redundant two-step process: they install to the default GOBIN and then copy the binary to $(BIN_DIR). These can be merged into a single step by setting GOPATH (as is done for go-licenses and addlicense) then installing the tool.

Several tools (kind, go-junit-report, crane) use a redundant two-step process: they install to the default GOBIN and then copy the binary to $(BIN_DIR). These can be merged into a single step by setting GOPATH (as is done for go-licenses and addlicense) then installing the tool.
@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from camila-b. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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 requested a review from janetkuo February 20, 2026 19:01
@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 refactors the Makefile to improve the efficiency and consistency of Go tool installations. By directly installing tools like kind, go-junit-report, and crane to their final destination using a specified GOPATH, it eliminates redundant copy operations and streamlines the build process. This change enhances maintainability and reduces the overall complexity of the build environment setup.

Highlights

  • Streamlined Tool Installation: The installation process for kind, go-junit-report, and crane in the Makefile has been consolidated from a two-step process (install to GOBIN then copy) into a single step.
  • GOPATH Utilization: The GOPATH environment variable is now explicitly set during the go install command for these tools, directing the installation directly to the desired $(BIN_DIR).
  • Reduced Makefile Complexity: Intermediate targets for installing tools to $(GOBIN) have been removed, simplifying the Makefile structure for these dependencies.

🧠 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
    • Removed intermediate targets for $(GOBIN)/kind, $(GOBIN)/go-junit-report, and $(GOBIN)/crane.
    • Modified the $(KIND) target to directly install kind using GOPATH.
    • Modified the $(GO_JUNIT_REPORT) target to directly install go-junit-report using GOPATH.
    • Modified the $(CRANE) target to directly install crane using GOPATH.
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 simplifies the Makefile by merging the two-step installation process for kind, go-junit-report, and crane into a single step. By setting the GOPATH environment variable directly during the go install command, the intermediate step of copying the binary from the default GOBIN is eliminated. This change makes the installation rules for these tools consistent with others in the Makefile, such as go-licenses and addlicense, improving readability and maintainability. The changes are correct and well-executed.

@mikebz
Copy link
Contributor

mikebz commented Feb 20, 2026

I am actually curious why we need these complex makefiles in general...
https://github.com/helm/helm/blob/main/Makefile - comparison

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants