-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[ci] Add Gemini Code Assist review config #9632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ci] Add Gemini Code Assist review config #9632
Conversation
This adds initial configuration files for [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code) in preparation for turing it on for this repository on a trial basis. These config files are based on [the official docs](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github) It also adds a note to the PR template to provide some notice/guidance to contributors about how to use automated feedback, to clarify the role of the automated reviews and hopefully minimize potential issues in case the bot leaves incorrect feedback.
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea how to know how well this will work. I tried to start with something reasonably concise, but that linked the most important documents, and I figure we can iterate from there if we are seeing patterns in the reviews that could potentially be addressed with additional guidance here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to iterate. Can we have it call out:
- Code should be formatted with `dart format`
- Code should pass `dart analyze`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Code should be formatted with
dart format
The file links to https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style which already says that, along with listing all of the other formatters we require. I'm really hoping that reference is enough, because I don't want to maintain two copies of that list forever.
- Code should pass
dart analyze
We already have CI that validates that. I don't really want to try to teach it all the CI requirements since:
- That would be really unpleasant to maintain, since it would be a second copy our whole CI config.
- It would presumably either a) not work because it wasn't actually running those commands, or b) be super wasteful because it would be running all the commands that CI is running just to give a second copy of the same feedback.
- My primary goal here is to provide value to Flutter team members doing reviews, and they already know how to go look at the CI failures. (If we want to make that experience better via AI, I would recommend we build cross-repo tooling to teach some agent—maybe this one, maybe not—to understand and summarize all the failures in a set of LUCI tests on a PR, rather than try to teach the review agent what the commands our CI runs are).
Non-blocking: Do we also want a GEMINI.md in the root folder as well? Or plan for multiple ones in the sub folders? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docs for the code review agent never mention GEMINI.md, so it is not clear to me that they apply to this system. We may want to add it later for other tools though. |
@jtmcdole We should be good to go for you to install the app for this repo now. |
App unsuspended and only allowed on flutter/packages |
It looks like you tried to invoke me with |
flutter/packages@4a231ae...cb8fef6 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump androidx.activity:activity from 1.9.3 to 1.10.1 in /packages/image_picker/image_picker_android/android (flutter/packages#8725) 2025-07-17 [email protected] [webview_flutter] Update androidx.webkit to 1.14.0 (flutter/packages#9638) 2025-07-17 [email protected] Roll Flutter from c2739f0 to 9c626d9 (18 revisions) (flutter/packages#9641) 2025-07-17 [email protected] Roll Flutter (stable) from 077b4a4 to d7b523b (3 revisions) (flutter/packages#9640) 2025-07-17 [email protected] Fix Gemini note wrapping (flutter/packages#9639) 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.google.android.gms:play-services-maps from 18.2.0 to 19.2.0 in /packages/google_maps_flutter/google_maps_flutter_android/android (flutter/packages#9120) 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump androidx.fragment:fragment from 1.6.2 to 1.8.8 in /packages/local_auth/local_auth_android/android (flutter/packages#9406) 2025-07-16 [email protected] [ci] Add Gemini Code Assist review config (flutter/packages#9632) 2025-07-16 [email protected] Roll Flutter from cc3110c to c2739f0 (15 revisions) (flutter/packages#9633) 2025-07-16 [email protected] [image_picker] redesign example app (flutter/packages#9625) 2025-07-16 [email protected] [camera_avfoundation] Implementation swift migration - part 7 (flutter/packages#9595) 2025-07-15 [email protected] [webview_flutter_wkwebview] Replace Flutter method failure assertion with nslog (flutter/packages#9587) 2025-07-15 [email protected] Roll Flutter from a930ec1 to cc3110c (24 revisions) (flutter/packages#9631) 2025-07-15 [email protected] [webview_flutter] Add setMixedContentMode for Android (flutter/packages#9586) 2025-07-15 [email protected] [google_sign_in] Add exception info to migration guide (flutter/packages#9574) 2025-07-14 [email protected] [camera_android] Use WeakReference to prevent startImageStream OOM error when main thread hangs (#166533) (flutter/packages#9571) 2025-07-14 [email protected] [quick_actions] Restore the appShortcutLaunchActivityAfterStarting test in quick_actions_android (flutter/packages#9508) 2025-07-14 [email protected] Roll Flutter from 35f197f to a930ec1 (3 revisions) (flutter/packages#9624) 2025-07-14 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.9.1 to 8.11.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#9618) 2025-07-12 [email protected] Roll Flutter from 43657f3 to 35f197f (39 revisions) (flutter/packages#9602) 2025-07-11 [email protected] Replace popularity badges (flutter/packages#9594) 2025-07-11 [email protected] [rfw] Update test to not depend on toString() (flutter/packages#9590) 2025-07-11 [email protected] [camera_avfoundation] Implementation swift migration - part 6 (flutter/packages#9588) 2025-07-10 [email protected] [url_launcher] Fixes new unnecessary boolean operations warnings (flutter/packages#9409) 2025-07-10 [email protected] [google_sign_in] Add troubleshooting to Android README (flutter/packages#9581) 2025-07-10 [email protected] Roll Flutter from ac12f66 to 43657f3 (25 revisions) (flutter/packages#9589) 2025-07-10 [email protected] [go_router_builder] Update case sensitive test to `go_router` 16.0.0 (flutter/packages#9482) 2025-07-09 [email protected] [rfw] Remove the RFW WASM example (flutter/packages#9551) 2025-07-09 [email protected] Roll Flutter (stable) from fcf2c11 to 077b4a4 (5 revisions) (flutter/packages#9585) 2025-07-09 [email protected] Roll Flutter from adffe24 to ac12f66 (28 revisions) (flutter/packages#9584) 2025-07-09 [email protected] [video_player] Add html 5 video poster support (thumbnail) as a VideoPlayerWebOptions (flutter/packages#8940) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…er#172303) flutter/packages@4a231ae...cb8fef6 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump androidx.activity:activity from 1.9.3 to 1.10.1 in /packages/image_picker/image_picker_android/android (flutter/packages#8725) 2025-07-17 [email protected] [webview_flutter] Update androidx.webkit to 1.14.0 (flutter/packages#9638) 2025-07-17 [email protected] Roll Flutter from c2739f0 to 9c626d9 (18 revisions) (flutter/packages#9641) 2025-07-17 [email protected] Roll Flutter (stable) from 077b4a4 to d7b523b (3 revisions) (flutter/packages#9640) 2025-07-17 [email protected] Fix Gemini note wrapping (flutter/packages#9639) 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.google.android.gms:play-services-maps from 18.2.0 to 19.2.0 in /packages/google_maps_flutter/google_maps_flutter_android/android (flutter/packages#9120) 2025-07-17 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump androidx.fragment:fragment from 1.6.2 to 1.8.8 in /packages/local_auth/local_auth_android/android (flutter/packages#9406) 2025-07-16 [email protected] [ci] Add Gemini Code Assist review config (flutter/packages#9632) 2025-07-16 [email protected] Roll Flutter from cc3110c to c2739f0 (15 revisions) (flutter/packages#9633) 2025-07-16 [email protected] [image_picker] redesign example app (flutter/packages#9625) 2025-07-16 [email protected] [camera_avfoundation] Implementation swift migration - part 7 (flutter/packages#9595) 2025-07-15 [email protected] [webview_flutter_wkwebview] Replace Flutter method failure assertion with nslog (flutter/packages#9587) 2025-07-15 [email protected] Roll Flutter from a930ec1 to cc3110c (24 revisions) (flutter/packages#9631) 2025-07-15 [email protected] [webview_flutter] Add setMixedContentMode for Android (flutter/packages#9586) 2025-07-15 [email protected] [google_sign_in] Add exception info to migration guide (flutter/packages#9574) 2025-07-14 [email protected] [camera_android] Use WeakReference to prevent startImageStream OOM error when main thread hangs (flutter#166533) (flutter/packages#9571) 2025-07-14 [email protected] [quick_actions] Restore the appShortcutLaunchActivityAfterStarting test in quick_actions_android (flutter/packages#9508) 2025-07-14 [email protected] Roll Flutter from 35f197f to a930ec1 (3 revisions) (flutter/packages#9624) 2025-07-14 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.9.1 to 8.11.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#9618) 2025-07-12 [email protected] Roll Flutter from 43657f3 to 35f197f (39 revisions) (flutter/packages#9602) 2025-07-11 [email protected] Replace popularity badges (flutter/packages#9594) 2025-07-11 [email protected] [rfw] Update test to not depend on toString() (flutter/packages#9590) 2025-07-11 [email protected] [camera_avfoundation] Implementation swift migration - part 6 (flutter/packages#9588) 2025-07-10 [email protected] [url_launcher] Fixes new unnecessary boolean operations warnings (flutter/packages#9409) 2025-07-10 [email protected] [google_sign_in] Add troubleshooting to Android README (flutter/packages#9581) 2025-07-10 [email protected] Roll Flutter from ac12f66 to 43657f3 (25 revisions) (flutter/packages#9589) 2025-07-10 [email protected] [go_router_builder] Update case sensitive test to `go_router` 16.0.0 (flutter/packages#9482) 2025-07-09 [email protected] [rfw] Remove the RFW WASM example (flutter/packages#9551) 2025-07-09 [email protected] Roll Flutter (stable) from fcf2c11 to 077b4a4 (5 revisions) (flutter/packages#9585) 2025-07-09 [email protected] Roll Flutter from adffe24 to ac12f66 (28 revisions) (flutter/packages#9584) 2025-07-09 [email protected] [video_player] Add html 5 video poster support (thumbnail) as a VideoPlayerWebOptions (flutter/packages#8940) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
- Initial config files for [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). These config files are modified versions of the one already added to the flutter/packages repo: flutter/packages#9632 based on [the official docs](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). - Style guide has links to various contributing docs and style guides. - Ignore paths associated with version pins and third_party to avoid reviews on rolls and code that doesn't need modification. See flutter/packages#9647. - Add a note to the PR template to provide some notice/guidance to contributors about how to use automated feedback, to clarify the role of the automated reviews and hopefully minimize potential issues in case the bot leaves incorrect feedback. This is a direct copy of the comment introduced in flutter/packages#9632. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
- Initial config files for [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). These config files are modified versions of the one already added to the flutter/packages repo: flutter/packages#9632 based on [the official docs](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). - Style guide has links to various contributing docs and style guides. - Ignore paths associated with version pins and third_party to avoid reviews on rolls and code that doesn't need modification. See flutter/packages#9647. - Add a note to the PR template to provide some notice/guidance to contributors about how to use automated feedback, to clarify the role of the automated reviews and hopefully minimize potential issues in case the bot leaves incorrect feedback. This is a direct copy of the comment introduced in flutter/packages#9632. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This adds initial configuration files for [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code) in preparation for turing it on for this repository on a trial basis. These config files are based on [the official docs](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github) It also adds a note to the PR template to provide some notice/guidance to contributors about how to use automated feedback, to clarify the role of the automated reviews and hopefully minimize potential issues in case the bot leaves incorrect feedback.
This adds initial configuration files for Gemini Code Assist for GitHub in preparation for turing it on for this repository on a trial basis. These config files are based on the official docs
It also adds a note to the PR template to provide some notice/guidance to contributors about how to use automated feedback, to clarify the role of the automated reviews and hopefully minimize potential issues in case the bot leaves incorrect feedback.