Skip to content

feat(suppression): automatically unsuppress and re-suppress tests on GitHub issue events - #5126

Merged
auto-submit[bot] merged 3 commits into
flutter:mainfrom
jtmcdole:unsupressOnClose
Aug 12, 2026
Merged

feat(suppression): automatically unsuppress and re-suppress tests on GitHub issue events#5126
auto-submit[bot] merged 3 commits into
flutter:mainfrom
jtmcdole:unsupressOnClose

Conversation

@jtmcdole

@jtmcdole jtmcdole commented Aug 6, 2026

Copy link
Copy Markdown
Member
  • Add IssueService and wire it to GithubWebhookSubscription to handle GitHub 'issues' webhook events.
  • Automatically unsuppress tests when an associated GitHub issue is closed.
  • Automatically re-suppress tests when an associated GitHub issue is reopened.
  • Add TestSuppression.canonicalizeIssueUrl to sanitize user input (stripping fragments, query params, subpaths, and trailing slashes) into canonical GitHub issue URLs on ingress.
  • Add unit and webhook integration tests for IssueService, TestSuppression, and UpdateSuppressedTest.

fixes: flutter/flutter#188030 only if we update the webhook.

…GitHub issue events

- Add IssueService and wire it to GithubWebhookSubscription to handle GitHub 'issues' webhook events.
- Automatically unsuppress tests when an associated GitHub issue is closed.
- Automatically re-suppress tests when an associated GitHub issue is reopened.
- Add TestSuppression.canonicalizeIssueUrl to sanitize user input (stripping fragments, query params, subpaths, and trailing slashes) into canonical GitHub issue URLs on ingress.
- Add unit and webhook integration tests for IssueService, TestSuppression, and UpdateSuppressedTest.
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Aug 6, 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 IssueService to automatically unsuppress or re-suppress tests when their associated GitHub issues are closed or reopened, integrating it with the GitHub webhook subscription. It also adds URL canonicalization for GitHub issue links to strip trailing slashes, query parameters, and fragments. The review feedback highlights several improvement opportunities: expanding URL canonicalization to support www.github.com (along with adding tests), canonicalizing the issue URL directly from the webhook payload, and adding defensive checks to prevent potential crashes when parsing invalid repository names.

Comment thread app_dart/lib/src/service/test_suppression.dart Outdated
Comment thread app_dart/test/service/test_suppression_test.dart
Comment thread app_dart/lib/src/service/issue_service.dart
Comment thread app_dart/lib/src/service/issue_service.dart
Comment thread app_dart/lib/src/service/issue_service.dart

@eyebrowsoffire eyebrowsoffire left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks good to me. The one thing that crosses my mind right now is that we had to introduce serialized handling of PR webhooks, and I'm wondering if that will be necessary for the issue handlers as well. As of right now, it seems like this is probably safe to handle in parallel though.

@jtmcdole

Copy link
Copy Markdown
Member Author

This looks good to me. The one thing that crosses my mind right now is that we had to introduce serialized handling of PR webhooks, and I'm wondering if that will be necessary for the issue handlers as well. As of right now, it seems like this is probably safe to handle in parallel though.

Yeah, I don't think so - unsuppressing or suppressing actions are idempotent actions and we don't deal wtih any scheduled in these handlers. Something to keep an eye out for though .

@jtmcdole jtmcdole added the autosubmit Merge PR when tree becomes green via auto submit App. label Aug 12, 2026
@auto-submit
auto-submit Bot merged commit 75b7d9c into flutter:main Aug 12, 2026
26 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.

test suppression not removed when bug closed

2 participants