Skip to content

[Gemini Log Analyzer] Part 4: Frontend Integration (Dashboard UI)#5044

Merged
auto-submit[bot] merged 8 commits into
flutter:mainfrom
ievdokdm:gemini-log-analyzer-3-ui
May 8, 2026
Merged

[Gemini Log Analyzer] Part 4: Frontend Integration (Dashboard UI)#5044
auto-submit[bot] merged 8 commits into
flutter:mainfrom
ievdokdm:gemini-log-analyzer-3-ui

Conversation

@ievdokdm
Copy link
Copy Markdown
Contributor

@ievdokdm ievdokdm commented May 4, 2026

This is Part 4 of the stacked Pull Request series implementing the Gemini Log Analyzer feature.

Depends on Part 3: #5043 (Note: Targets main due to GitHub cross-repo limits, but chains to #5043 via description).

This PR integrates the feature into the Cocoon Dashboard UI:

  • Adds "Log Analysis" tab to display the Gemini log analyzer results when available.
  • Adds "Analyze Logs with Gemini" action button to trigger the API from the presubmit dashboard.
  • Implements spellchecking, permission-checking, and error-handling for the trigger action.

Stacked PR Series:

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label May 4, 2026
@ievdokdm ievdokdm force-pushed the gemini-log-analyzer-3-ui branch from f28b7c3 to 88fe86a Compare May 4, 2026 21:04
@ievdokdm ievdokdm added CICD Run CI/CD and removed CICD Run CI/CD labels May 4, 2026
@ievdokdm ievdokdm force-pushed the gemini-log-analyzer-3-ui branch 2 times, most recently from 5a46bea to 980ed7e Compare May 5, 2026 22:32
@ievdokdm ievdokdm changed the title [Gemini Log Analyzer] Part 3: Frontend Integration (Dashboard UI) [Gemini Log Analyzer] Part 4: Frontend Integration (Dashboard UI) May 5, 2026
@ievdokdm ievdokdm force-pushed the gemini-log-analyzer-3-ui branch 4 times, most recently from 84eb00f to ee79ca0 Compare May 7, 2026 16:18
@ievdokdm ievdokdm added autosubmit Merge PR when tree becomes green via auto submit App. CICD Run CI/CD and removed CICD Run CI/CD labels May 7, 2026
@ievdokdm ievdokdm force-pushed the gemini-log-analyzer-3-ui branch from ee79ca0 to aef4ab2 Compare May 8, 2026 16:27
@ievdokdm ievdokdm added CICD Run CI/CD and removed CICD Run CI/CD labels May 8, 2026
Comment thread dashboard/lib/state/presubmit.dart Outdated
@jtmcdole
Copy link
Copy Markdown
Member

jtmcdole commented May 8, 2026

No clue why there is a discrepancy between VSCode checkout of your branch and github's render:

presubmit_job.dart line 251:
q: Should you use int.tryParse just to avoid throwing if the field is unparsable?
you could also cheat and just do: int.tryParse(fields[fieldBuildId]?.integerValue ?? '')

app_dart/lib/src/model/firestore/presubmit_job.dart: line 314:

fields[fieldBuildId] = build.id.toValue();

app_dart/lib/src/request_handlers/analyze_logs.dart: line 59:
Can we validate this slug is in the configured repos (there is a set in Config)? I get UnifiedCheckRun.getLatestPresubmitGuardForPrNum might also check, but it would be nice to have this explicit.

app_dart/tool/local_server.dart: line 26:
you could allow someone working locally to test with their own key:

  secretManager.putString('APP_DART_GEMINI_LOG_ANALYZER_KEY', Platform.environment['APP_DART_GEMINI_LOG_ANALYZER_KEY'] ?? dummy_key);

packages/cocoon_integration_test/lib/src/fakes/fake_config.dart: line 183:
GenKit supports web (according to pub.dev) so you could use the following. Note, this is different from Platform and is instead a dart compile option (-DAPP_DART_GEMINI_LOG_ANALYZER_KEY="$APP_DART_GEMINI_LOG_ANALYZER_KEY")

      geminiLogAnalyzerKeyValue ?? 
      String.fromEnvironment('APP_DART_GEMINI_LOG_ANALYZER_KEY', defaultValue: 'fake-gemini-key');

@ievdokdm ievdokdm added CICD Run CI/CD and removed CICD Run CI/CD labels May 8, 2026
@ievdokdm ievdokdm requested a review from jtmcdole May 8, 2026 19:18
final bool closeMqGuardAfterPresubmit;

/// Whether to enable Gemini log analysis feature.
@JsonKey()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note to self: I don't think we need @jsonkey on every field if we're not overriding the defaults.

Comment thread dashboard/lib/service/appengine_cocoon.dart Outdated
Co-authored-by: John "codefu" McDole <john@mcdole.org>
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App. label May 8, 2026
@auto-submit
Copy link
Copy Markdown
Contributor

auto-submit Bot commented May 8, 2026

auto label is removed for flutter/cocoon/5044, Failed to merge flutter/cocoon/5044 with Pull request flutter/cocoon/5044 could not be merged: Required status check "ci.yaml validation" is expected..

@ievdokdm ievdokdm added autosubmit Merge PR when tree becomes green via auto submit App. CICD Run CI/CD and removed CICD Run CI/CD labels May 8, 2026
@auto-submit auto-submit Bot merged commit f34e34b into flutter:main May 8, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App. CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants