Skip to content

Updating Warnings Validation to be unique#1437

Merged
oreflow merged 1 commit intomainfrom
unique-warnings
Jan 9, 2026
Merged

Updating Warnings Validation to be unique#1437
oreflow merged 1 commit intomainfrom
unique-warnings

Conversation

@oreflow
Copy link
Collaborator

@oreflow oreflow commented Jan 9, 2026

Prior to this change, warnings validation could return duplicates in the list of validated enabled warnings (e.g. when specified in .buildifier.json config #1383), leading to the same warning being checked and printed multiple times

@oreflow oreflow requested a review from a team as a code owner January 9, 2026 09:54
@oreflow oreflow requested review from AnnaSvalova and removed request for a team January 9, 2026 09:54
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @oreflow, 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 resolves an issue where the warning validation process could generate duplicate warnings, leading to inefficient and repetitive checks. The change introduces a more robust mechanism by utilizing a map to store and manage validated warnings, thereby guaranteeing that each warning is unique before being returned. This enhancement improves the accuracy and performance of the warning system by eliminating redundant processing.

Highlights

  • Duplicate Warning Prevention: The core logic for validating warnings has been refactored to ensure that the list of enabled warnings contains only unique entries, preventing the same warning from being processed multiple times.
  • Data Structure Change: The internal storage for validated warnings within the ValidateWarnings function has been switched from a slice (warningsList) to a map (warningsMap), leveraging the inherent uniqueness of map keys.
  • Go Standard Library Updates: The maps and slices packages have been imported to facilitate the new map-based warning handling and to convert the unique map keys back into a slice for the function's return value.
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 the warnings validation logic to ensure uniqueness by using a map instead of a slice. This correctly addresses the issue of duplicate warnings. The implementation is sound, but I've identified one issue regarding the non-deterministic order of the returned warnings list, which could lead to flaky tests. I've provided a suggestion to sort the warnings to ensure deterministic output.

Prior to this change, warnings validation could return duplicates in the list of validated enabled warnings (e.g. when specified in .buildifier.json config #1383), leading to the same warning being checked and printed multiple times
@oreflow oreflow requested review from ibsa21 and removed request for AnnaSvalova January 9, 2026 10:38
Copy link
Collaborator

@ibsa21 ibsa21 left a comment

Choose a reason for hiding this comment

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

LGTM

@oreflow oreflow merged commit 8e18998 into main Jan 9, 2026
6 checks passed
@oreflow oreflow deleted the unique-warnings branch January 9, 2026 10:53
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