Skip to content

Conversation

@rickeylev
Copy link
Collaborator

wip

@rickeylev rickeylev marked this pull request as draft November 12, 2025 05:10
@gemini-code-assist
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 is a work-in-progress effort to update the project's continuous integration (CI) to support and test with Bazel 8 on Windows. It involves a targeted overhaul of the CI configuration to focus on this specific environment, alongside comprehensive dependency updates across various MODULE.bazel and go.mod files to ensure full compatibility with the new Bazel version and its ecosystem.

Highlights

  • CI Configuration Update: The .bazelci/presubmit.yml has been significantly refactored to focus specifically on testing Windows with Bazel 8, utilizing a new matrix configuration for platforms and Bazel versions. This streamlines the CI to target the latest Bazel release on Windows.
  • Dependency Version Bumps: Several key dependencies have been updated across MODULE.bazel files, including rules_go (to 0.59.0), gazelle (to 0.47.0), and rules_java (to 8.16.1), ensuring compatibility with newer Bazel versions and related tooling.
  • Go Toolchain and Module Updates: The gazelle/go.mod file has been updated to Go 1.22.9 and includes a toolchain go1.23.6, along with updates to bazel-gazelle, buildtools, and doublestar/v4 dependencies and their corresponding checksums in go.sum.
  • Bzlmod Flag Stabilization: The .bazelrc file for gazelle/examples/bzlmod_build_file_generation has transitioned from using the experimental experimental_enable_bzlmod flag to the stable enable_bzlmod flag, indicating the maturity of Bazel's module system.
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 updates several dependencies, including rules_go, gazelle, and Go modules. It also drastically simplifies the .bazelci/presubmit.yml configuration, replacing a large number of individual jobs with a single matrix job for Windows with Bazel 8. While this simplifies the configuration, it also significantly reduces the test coverage that was previously in place across different platforms and configurations.

My review includes a critical fix for a duplicated key in the new CI configuration that would cause it to fail. I've also pointed out a confusing comment and an inconsistent dependency file that should be cleaned up. Given the 'wip' status, you may already be aware of the reduced test matrix, but it's a significant change worth noting.

Comment on lines +102 to +103
platform: ${{ platform }}
bazel: ${{ bazel }}
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

These platform and bazel keys are duplicates of the ones on lines 99-100. This will likely cause an error when parsing the YAML file. Please remove these duplicate lines.

Comment on lines 3 to +16
github.com/bazelbuild/bazel-gazelle v0.36.0 h1:n41ODckCkU9D2BEwBxYN+xu5E92Vd0gaW6QmsIW9l00=
github.com/bazelbuild/bazel-gazelle v0.36.0/go.mod h1:5wGHbkRpDUdz4LxREtPYwXstrWfnkV+oDmOuxNAxW1s=
github.com/bazelbuild/bazel-gazelle v0.47.0 h1:g3Rr1ZbkC1Pk20aOgBITxSD/efS1WbaSty5jC786Z3Q=
github.com/bazelbuild/bazel-gazelle v0.47.0/go.mod h1:8Ozf20jhv+in87nCUHdmUPPcVGTfKg/gotZ/hce3T+w=
github.com/bazelbuild/buildtools v0.0.0-20240313121412-66c605173954 h1:VNqmvOfFzn2Hrtoni8vqgXlIQ4C2Zt22fxeZ9gOOkp0=
github.com/bazelbuild/buildtools v0.0.0-20240313121412-66c605173954/go.mod h1:689QdV3hBP7Vo9dJMmzhoYIyo/9iMhEmHkJcnaPRCbo=
github.com/bazelbuild/buildtools v0.0.0-20250930140053-2eb4fccefb52 h1:njQAmjTv/YHRm/0Lfv9DXHFZ4MdT2IA/RKHTnqZkgDw=
github.com/bazelbuild/buildtools v0.0.0-20250930140053-2eb4fccefb52/go.mod h1:PLNUetjLa77TCCziPsz0EI8a6CUxgC+1jgmWv0H25tg=
github.com/bazelbuild/rules_go v0.55.1 h1:cQYGcunY8myOB+0Ym6PGQRhc/milkRcNv0my3XgxaDU=
github.com/bazelbuild/rules_go v0.55.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0=
github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q=
github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
github.com/bmatcuk/doublestar/v4 v4.9.1 h1:X8jg9rRZmJd4yRy7ZeNDRnM+T3ZfHv15JiBJ/avrEXE=
github.com/bmatcuk/doublestar/v4 v4.9.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The go.sum file appears to be in an inconsistent state. It contains checksums for both old and new versions of dependencies (e.g., bazel-gazelle v0.36.0 and v0.47.0). This can happen if go mod tidy is not run after updating go.mod. Please run go mod tidy to clean up this file and ensure it only contains checksums for the required dependencies.

Comment on lines +111 to +113
# Without these cxxopts, BCR's Mac builds fail
- '--cxxopt=-std=c++14'
- '--host_cxxopt=-std=c++14'
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The comment mentions that these C++ options are for Mac builds, but the current test matrix only includes windows. This is confusing. If these flags are not needed for Windows, they should be removed or made conditional for when macos is added to the platform matrix.

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.

2 participants