Skip to content

Add gemini reviewer bot#148

Merged
kubevirt-bot merged 1 commit intokubevirt:mainfrom
maiqueb:add-gemini-reviewer-bot
Apr 20, 2026
Merged

Add gemini reviewer bot#148
kubevirt-bot merged 1 commit intokubevirt:mainfrom
maiqueb:add-gemini-reviewer-bot

Conversation

@maiqueb
Copy link
Copy Markdown
Collaborator

@maiqueb maiqueb commented Apr 6, 2026

What this PR does / why we need it:
Adds gemini code reviewer bot to ease the maintainer burden on this repo.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:
Depends-on: #147

Release note:

NONE

@kubevirt-bot kubevirt-bot added the dco-signoff: yes Indicates the PR's author has DCO signed all their commits. label Apr 6, 2026
@kubevirt-bot kubevirt-bot requested review from oshoval and qinqon April 6, 2026 11:17
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 6, 2026

/hold until #147 is merged.

@kubevirt-bot kubevirt-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 6, 2026
@maiqueb maiqueb force-pushed the add-gemini-reviewer-bot branch from 0bb14f7 to 8b56d4d Compare April 6, 2026 11:19
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 6, 2026

/gemini review
/gemini summary

1 similar comment
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 6, 2026

/gemini review
/gemini summary

Copy link
Copy Markdown
Contributor

@RamLavi RamLavi left a comment

Choose a reason for hiding this comment

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

I asked claude to go back 150 PRs on ipam-ext and extract @maiqueb's reviews in order to synthesize some rules that you could consider adding to your styleguide, in order to help make the PRs attuned to your review style.
Feel free to add some/all/none:

  • Prefer: domain-accurate names that describe the real object or behavior.
    Example: Use secondaryAttachmentName instead of networkName when referring to a NAD attachment key.

  • Prefer: extracting duplicated setup/build logic into a small helper.
    Example: Add func dummyVMWithSecondaryNet(...) *kubevirtv1.VirtualMachine instead of repeating VM spec construction in multiple tests.

  • Prefer: named constants for repeated limits and timeouts.
    Example: Define const vmReadyTimeout = 5 * time.Minute and reuse it instead of mixing 5m and 90s literals.

  • Prefer: tests that validate public behavior and outcomes.
    Example: Assert webhook behavior (pod admitted/rejected and mutation result) rather than testing private helper internals.

  • Prefer: cleanup in teardown blocks, not in scenario flow.
    Example: Put resource deletion in AfterEach/DeferCleanup rather than inline inside It(...).

  • Prefer: positive assertions that describe expected success.
    Example: Use Expect(k8sClient.Update(ctx, obj)).To(Succeed()) instead of Expect(err).NotTo(HaveOccurred()).

  • Prefer: clear Ginkgo narrative (When/Context/It) that reads like behavior documentation.
    Example:
    When("persistent IP is disabled on NAD")
    It("does not create an IPAMClaim").

  • Prefer: explicit input types over boolean flags in function parameters.
    Example: Use createClaim(ctx, ClaimModeDryRun) / createClaim(ctx, ClaimModeApply) instead of createClaim(ctx, true).

@RamLavi
Copy link
Copy Markdown
Contributor

RamLavi commented Apr 6, 2026

I think gemini-code-assist is already registered for kubevirt org

gemini-code-assist are you here with us? %shandalir-shatters%

@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 7, 2026

I asked claude to go back 150 PRs on ipam-ext and extract @maiqueb's reviews in order to synthesize some rules that you could consider adding to your styleguide, in order to help make the PRs attuned to your review style. Feel free to add some/all/none:

* **Prefer:** domain-accurate names that describe the real object or behavior.
  **Example:** Use `secondaryAttachmentName` instead of `networkName` when referring to a NAD attachment key.

* **Prefer:** extracting duplicated setup/build logic into a small helper.
  **Example:** Add `func dummyVMWithSecondaryNet(...) *kubevirtv1.VirtualMachine` instead of repeating VM spec construction in multiple tests.

* **Prefer:** named constants for repeated limits and timeouts.
  **Example:** Define `const vmReadyTimeout = 5 * time.Minute` and reuse it instead of mixing `5m` and `90s` literals.

* **Prefer:** tests that validate public behavior and outcomes.
  **Example:** Assert webhook behavior (pod admitted/rejected and mutation result) rather than testing private helper internals.

* **Prefer:** cleanup in teardown blocks, not in scenario flow.
  **Example:** Put resource deletion in `AfterEach`/`DeferCleanup` rather than inline inside `It(...)`.

* **Prefer:** positive assertions that describe expected success.
  **Example:** Use `Expect(k8sClient.Update(ctx, obj)).To(Succeed())` instead of `Expect(err).NotTo(HaveOccurred())`.

* **Prefer:** clear Ginkgo narrative (`When`/`Context`/`It`) that reads like behavior documentation.
  **Example:**
  `When("persistent IP is disabled on NAD")`
  `It("does not create an IPAMClaim")`.

* **Prefer:** explicit input types over boolean flags in function parameters.
  **Example:** Use `createClaim(ctx, ClaimModeDryRun)` / `createClaim(ctx, ClaimModeApply)` instead of `createClaim(ctx, true)`.

I'll use this info on #147, which actually defined the agents file.

When I figure out how to onboard gemini into the project, we'll use those guidelines again.

Nice suggestion @RamLavi , tks.

@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 7, 2026

Closing until I figure out how to onboard gemini into the kubevirt org.

@maiqueb maiqueb closed this Apr 7, 2026
@RamLavi
Copy link
Copy Markdown
Contributor

RamLavi commented Apr 9, 2026

@maiqueb why not gemini-code-assist? From what I see it's already configured for kubevirt org.
(not that I have an idea why it doesn't work, but maybe it's not hard to find)

@maiqueb maiqueb reopened this Apr 17, 2026
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 17, 2026

@gemini-code-assist can you evaluate this PR ?

@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 17, 2026

/gemini review
/gemini summary

@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 20, 2026

/gemini review
/gemini summary

... let's see if this does anything after the repo's got the permissions ...

@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 20, 2026

@gemini-code-assist please review :)

@gemini-code-assist
Copy link
Copy Markdown

Important

Installation incomplete: to start using Gemini Code Assist, please ask the organization owner(s) to visit the Gemini Code Assist Admin Console and sign the Terms of Services.

1 similar comment
@gemini-code-assist
Copy link
Copy Markdown

Important

Installation incomplete: to start using Gemini Code Assist, please ask the organization owner(s) to visit the Gemini Code Assist Admin Console and sign the Terms of Services.

Copy link
Copy Markdown

@dhiller dhiller left a comment

Choose a reason for hiding this comment

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

/approve

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 20, 2026
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 20, 2026

/gemini review

Copy link
Copy Markdown

@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 introduces a CLAUDE.md file to provide project-specific guidance for AI coding tools, covering build commands, architecture, and design guidelines. Feedback was provided regarding violations of the document's own 120-character line length limit and a potential naming inconsistency between the file name and the pull request metadata.

Comment thread CLAUDE.md Outdated
Comment thread CLAUDE.md Outdated
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
@maiqueb maiqueb force-pushed the add-gemini-reviewer-bot branch from 8b56d4d to 0263d04 Compare April 20, 2026 10:37
@kubevirt-bot kubevirt-bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 20, 2026
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 20, 2026

/gemini review

@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@qinqon
Copy link
Copy Markdown
Contributor

qinqon commented Apr 20, 2026

/lgtm
/approve

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 20, 2026
@kubevirt-bot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dhiller, qinqon

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

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 20, 2026
@maiqueb
Copy link
Copy Markdown
Collaborator Author

maiqueb commented Apr 20, 2026

/hold cancel

@kubevirt-bot kubevirt-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 20, 2026
@kubevirt-bot kubevirt-bot merged commit cf21e59 into kubevirt:main Apr 20, 2026
4 checks passed
@maiqueb maiqueb deleted the add-gemini-reviewer-bot branch April 20, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. lgtm Indicates that a PR is ready to be merged. size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants