mozilla-services / mozilla-services/updatebot
Better logic about when to close bugs as duplicates
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Iain suggested in https://bugzilla.mozilla.org/show_bug.cgi?id=1805798#c12 to not close a bug as a dupe if it has new patches attached.
Background: Presently if there's a new library version available, Updatebot will close the last bug it opened as a duplicate and forward you to the new bug it has just filed. When it does this, it will mark the bug it just closed as 'relinquished' in its database, which means it will never attempt to close the bug again. This is to prevent it from getting into close-reopen fights with developers. (The idea being if it shouldn't have closed it, the dev will re-open it, and Updatebot will not touch it again.)
It wouldn't be too hard to add in some logic there to not close it as a dupe if e.g. there are new patches attached or some other criteria. Along with that, Updatebot should still mark it as relinquished - if Updatebot sees activity that means it shouldn't close it now, then it shouldn't close it in the future.
However the harder part is what should Updatebot do with the new bug? It could file it as usual and set it as a 'See Also'. Or as a Dependency (i.e. close out the bug you're working on, and now go fix this new one I filed.) It could also add a comment to the bug saying "I'm not going to file a new bug because it seems like you're working on this one, but I would have."
I think filing the new bug and setting it as a Dep makes the most sense to me?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review Updatebot’s current duplicate-closing and relinquished-state behavior first. Decide how new patches or other activity should prevent closure, and choose whether the replacement bug should be filed as a dependency, a See Also, or handled with a comment; the issue names no files or tests, so completion criteria remain unresolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100