-
Notifications
You must be signed in to change notification settings - Fork 373
Add issue deduplication to Daily Community Attribution Updater #28818
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| ## Issue Deduplication | ||
|
|
||
| **Always use the `create_issue` safe-output tool (not the GitHub MCP `create_issue` tool) when reporting failures or problems.** | ||
|
|
||
| The `create_issue` safe-output tool has built-in deduplication: | ||
|
|
||
| - **`group-by-day`**: If an open issue with the same title was already created today, it posts the new content as a comment on the existing issue instead of creating a duplicate | ||
| - **`close-older-issues`**: Automatically closes older issues with the same title prefix, keeping the issue queue clean | ||
|
|
||
| ### When to create a failure issue | ||
|
|
||
| Only create an issue if you encounter a genuine problem that a maintainer should know about (e.g., data fetch failure, unexpected workflow error). Do not create an issue for normal "no changes needed" runs — use the `noop` safe-output for those. | ||
|
|
||
| ### How to report a failure | ||
|
|
||
| Use the `create_issue` safe-output tool (JSON format): | ||
|
|
||
| ```json | ||
| {"create_issue": {"title": "Brief description of the failure", "body": "### What failed\n\nData fetch or processing step failed with an unexpected error.\n\n### Steps to investigate\n\n1. Check the workflow run logs for the exact error message\n2. Verify that the data sources (community_issues.json, pull_requests.json) are accessible\n3. Review recent changes to the workflow or data sources"}} | ||
| ``` | ||
|
Comment on lines
+16
to
+20
|
||
|
|
||
| The built-in `close-older-issues` and `group-by-day` settings ensure that repeated failures on the same problem are grouped into a single issue thread rather than creating new duplicate issues each run. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -168,10 +168,10 @@ | |
| "version": "v2.2.0", | ||
| "sha": "0c5077e51419868618aeaa5fe8019c62421857d6" | ||
| }, | ||
| "ruby/setup-ruby@v1.305.0": { | ||
| "ruby/setup-ruby@v1.306.0": { | ||
| "repo": "ruby/setup-ruby", | ||
| "version": "v1.305.0", | ||
| "sha": "0cb964fd540e0a24c900370abf38a33466142735" | ||
| "version": "v1.306.0", | ||
| "sha": "c4e5b1316158f92e3d49443a9d58b31d25ac0f8f" | ||
|
Comment on lines
+171
to
+174
|
||
| }, | ||
| "super-linter/super-linter@v8.6.0": { | ||
| "repo": "super-linter/super-linter", | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -168,10 +168,10 @@ | |
| "version": "v2.2.0", | ||
| "sha": "0c5077e51419868618aeaa5fe8019c62421857d6" | ||
| }, | ||
| "ruby/setup-ruby@v1.305.0": { | ||
| "ruby/setup-ruby@v1.306.0": { | ||
| "repo": "ruby/setup-ruby", | ||
| "version": "v1.305.0", | ||
| "sha": "0cb964fd540e0a24c900370abf38a33466142735" | ||
| "version": "v1.306.0", | ||
| "sha": "c4e5b1316158f92e3d49443a9d58b31d25ac0f8f" | ||
|
Comment on lines
+171
to
+174
|
||
| }, | ||
| "super-linter/super-linter@v8.6.0": { | ||
| "repo": "super-linter/super-linter", | ||
|
|
||
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 failure-reporting example uses a free-form title ("Brief description of the failure"), but
group-by-daydeduplication only works when the title is identical across runs. Consider instructing a consistent title (e.g., a fixed "Daily Community Attribution Updater failed" title) and include the specific failure details in the body so retries don’t create multiple issues in the same day.