Skip to content

fix: clean up flaky issue team labels and cross-repo issue lookup on suppression - #5190

Open
Piinks wants to merge 2 commits into
flutter:mainfrom
Piinks:flaky-team-labels-cleanup
Open

Piinks wants to merge 2 commits into
flutter:mainfrom
Piinks:flaky-team-labels-cleanup

Conversation

@Piinks

@Piinks Piinks commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

I am working on adding support to the flaky bot for flutter/packages.
Before I get into that, I noticed some easy clean up/out of date things I could tidy up first.

Previously, teamFromString in test_ownership.dart only mapped four teams (framework, engine, tool, web), silently returning Team.unknown and dropping the team-* label for all other teams (android, ios, infra, ecosystem, etc.), while flaky_handler_utils.dart defined a non-existent team-release label and lacked team-linux, team-macos, and team-windows.

Additionally, UpdateSuppressedTest validated the GitHub issueLink by querying the test's repository (e.g. flutter/packages) rather than the repository in the issueLink URL (flutter/flutter), where Flutter issues are tracked.

Changes:

  • Remove non-existent team-release (Team.release) and add team-linux, team-macos, and team-windows in flaky_handler_utils.dart.
  • Wire up infra, android, ios, linux, macos, windows, and plugins/ecosystem in teamFromString (test_ownership.dart).
  • Parse the issue's RepositorySlug from the canonicalized issueLink URL in UpdateSuppressedTest when validating that the issue exists and is open.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read the Flutter Style Guide recently, and have followed its advice.
  • 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 ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Nov 13, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

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 platform-specific teams (Linux, macOS, and Windows) to replace the release team, updates the teamFromString mapper to support a wider range of Flutter repositories, and refactors UpdateSuppressedTest to parse the issue repository slug and number directly from the provided issue link. The feedback recommends adding defensive checks and error handling when parsing the issue link URL to prevent unhandled exceptions, as well as expanding unit tests for teamFromString to cover edge cases like case-insensitivity and whitespace.

@Piinks

Piinks commented Nov 13, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

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 platform-specific team definitions (Linux, macOS, and Windows) and updates the team mapping logic to be case-insensitive and trimmed. Additionally, it refactors the UpdateSuppressedTest handler to parse the repository slug and issue number directly from the provided issueLink URL rather than relying on the request's repository parameter, ensuring the correct GitHub service is instantiated for cross-repository issue queries. Corresponding unit tests have been added and updated to verify these changes. There are no review comments, so I have no feedback to provide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant