-
Notifications
You must be signed in to change notification settings - Fork 192
Issue Triage
How we triage issues
- Try to reproduce the bug (NOT OPTIONAL), if it is not obvious how, ask the creator of the issue for steps to reproduce. A bug that multiple devs failed to reproduce repeatedly is likely caused by the reporter's environment.
- Comment with whether you managed to reproduce or not (including the steps you took).
- Think about possible causes / solutions, mention everything in the comments, @mention everyone you think might know more.
- If possible give an estimate of the time / effort required or ask other devs (@mention).
- If you know how to solve it and it is easy, assign it to yourself and solve it!
- Add labels (see next section)
- Make sure the use case for the feature is clear, if it is not, ask for clarification
- Make sure the feature is limited in scope and it is clearly defined what needs to be implemented.
- Add an estimate of the effort required in the discussion, or ask people who might know (@mention)
- Add labels (see next section)
- Respond to the question, if you don't know the answer, make sure to @mention other devs who might know.
All issue labels are explained here. In any case it is a good idea to comment on why you attach a specific label.
Start by assigning one of the four types: bug, feature request, accepted feature or question. They are mutually exclusive.
The type names should be self-explanatory, but note: do not label a feature request "accepted feature" unless you have time allocated to work on it or you know someone else on the team does. Also make sure the scope and use case of the a feature request are clear before you "accept" it.
If you are not 100% sure, assign the type you thinks fits best and add a comment to the issue's discussion why you think it fits best.
If no type applies, use your own judgement as to whether a new label is required or the issue is not useful at all and should be closed.
Next, we assign a priority, critical-blocking is only for bugs / missing features that absolutely have to be in the very next release (the blocking refers to both, bugs that block users from working with AiiDA and blocking the next release).
Comment on the issue with why you are assigning this priority.
The priority "nice to have" should be assigned to everything that is not crucial to the stable, reliable and user friendly working of aiida_core
.
Priority "quality of life" is for proposed changes that make it easier for developers to work on aiida_core
effectively.
Attach other labels as you see fit, if it might be helpful at all for whoever might pick up this issue later, comment on why you are attaching labels
Only assign one (1) developer. Unless you are already assigned and are planning to collaborate on the issue with other devs.
@mention everyone else who might know more about the issue or be able to take it on.
A bug should be closed by a pull request. Exceptions are when a bug can not be reproduced by multiple developers and the user reporting it fails to provide additional information. In this case it should be labelled wontfix before closing.