Skip to content

Conversation

rickeylev
Copy link
Collaborator

BCR recently changed how it extracts archives in its presubmits: instead of extracting
the whole archive, only the specified portion (gazelle/ in this case) is extracted.
This broke the gazelle tests because they reference files above the gazelle directory.

To fix, move the module it runs as a test under the gazelle directory.

Because the test module also refers to rules_python, which is above the gazelle
directory, the bcr presubmit has disable that override using --override_module.
This means, going forward, the gazelle module, when bcr tests it, will use the
version in the MODULE file (rather than the vendored copy).

Fixes #3364

Copy link
Contributor

Summary of Changes

Hello @rickeylev, 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 configuration for Gazelle's BCR presubmit tests to adapt to recent changes in BCR's archive extraction mechanism. The primary goal is to restore the functionality of these tests by relocating a key example module and adjusting dependency resolution, specifically for rules_python, to align with the new presubmit environment. This ensures the continuous integration process for Gazelle remains robust and accurate.

Highlights

  • BCR Presubmit Compatibility: The pull request addresses a breaking change in how BCR (Bazel Central Registry) presubmits extract archives, ensuring Gazelle tests function correctly in the updated environment.
  • Module Relocation: The bzlmod_build_file_generation example module, which serves as a test, has been moved under the gazelle/ directory to resolve issues with tests referencing files outside the extracted archive.
  • Dependency Override Handling: Modifications were made to explicitly disable the rules_python module override in BCR presubmits, ensuring that the Gazelle module uses the version specified in its MODULE.bazel file rather than a vendored copy.
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
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 refactors the Gazelle BCR tests to be compatible with recent changes in the BCR presubmit environment. The changes involve moving the test module into the gazelle directory and updating CI configurations accordingly. A key change is disabling the local rules_python override during BCR presubmits, ensuring the test uses a version from the Bazel Central Registry. The changes are logical and well-explained. I have one suggestion to improve the robustness of a shell command in the CI configuration.

Copy link
Collaborator

@dougthor42 dougthor42 left a comment

Choose a reason for hiding this comment

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

Looks like quite a few CI failures need to be worked out, but the core of the PR is reasonable. I'll let you tweak and submit as needed.

@rickeylev rickeylev enabled auto-merge October 17, 2025 23:09
@rickeylev rickeylev added this pull request to the merge queue Oct 17, 2025
@rickeylev rickeylev mentioned this pull request Oct 17, 2025
10 tasks
Merged via the queue into bazel-contrib:main with commit f92ad71 Oct 17, 2025
4 checks passed
@rickeylev rickeylev deleted the gazelle.sub.example branch October 17, 2025 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gazelle: make bcr presubmit tests self-contained under gazelle directory

2 participants