Triage Process Overview
The goal of "Triage" is a quick initial response to incoming bug submissions from users.
The intend is for users to receive initial feedback on their submission and for bugs to be categorized properly.
If the bug has sufficient information, then add the "Triaged" Keyword to it and optionally leave some message for the user e.g "Thank you for bug submission, we should investigate". The bug status should remain "NEW" and remain assigned to firstname.lastname@example.org.
Subsequently, when we look for new bugs to work on, we can check bugs that have the "Triaged" keyword (See queries below).
When you take ownership of the bug (i.e you intend to work on the bug), you can assign it to yourself. When you start working on the bug, you can set the status to "ASSIGNED".
See the following diagram:
As a swt developer, consider watching email@example.com in bugzilla, to get notifications about new and triaged bugs.
Use the following as a guidline on how to triage a bug:
- Check for duplicate bugs
- Set/update meta data correctly
- Link to relevant bugs
- Briefly investigate if bug is real (i.e, reproducible on latest master)
- Ask user to test with newer version if reported version is very old
- Request versions of SWT/OS/java
- Request a snippet (or clear steps to reproduce) if it's not clear as to how to reproduce issue
- Ping/CC developers involved in related issue (especially when regressions occur)
- [Optionally] try to bisect codebase for regression reports
Setting proper Meta data
- For severity and priority, see: WTP/Conventions_of_bug_priority_and_severity.
- Set appropriate priority. In general we leave severity as set by user, but we can adjust it also. Ex for enhancements set "enhancement".
- Prefix OS and Component to bug summary.
- OS: [gtk][gtk2][gtk3][Wayland][Cocoa][Win32]
- Component: [PI][Graphics][Theme][Accessibility][Printing][DND][Clipboard][OpenGL][Browser][StylepdText][Layout][Examples][Snippets][JUnit][I18N][AWT][HiDpi][Custom widgets][Bidi]
- Note(PI means Native library interface. 64 means 32/64 bit issues. I18N means Internationalization issues).
- ex: [gtk3][Theme] Button background not styled.
- Prefix regressions with [Regression]
- Set appropriate target milestone if we plan to fix it within a particular time frame. You should check with a developer first thou.
Triage Bugzilla Queries
To construct the queries above:
Open an incognito browser. (so that everything is hard-coded into url)
Use quick search. For example:
- :swt @firstname.lastname@example.org -!Triaged
- :swt @email@example.com -!Triaged os:All,Linux,CentOS -os:Windows
Columns were changed, such that the following were kept:
- Product, Component, Priority, Severity, Votes, Status, Whiteboard, Target Milestone, Summary, OS, Changed, Opened, Keywords, Tags, Reporter, Version, # of comments
- "Stagger Headers" was used.
Then result was sorted in desired order: Priority, Votes, Severity, Target Milestone
URL was copied.
In the past, triaged bugs were re-assigned from a firstname.lastname@example.org to a email@example.com user. Instead we now just add the "Triage" keyword.
In the distant past, bugs were assigned to component owners, but that lead to component owners to have large amount of bugs that they did not actually work on.
Some projects used to use platform-inbox, but to mark a bug as triaged, the "ASSIGNED" status was used. But this could lead to confusion where users could think that