[asterisk-dev] [policy] Bug Tracker Workflow Discussion

Leif Madsen leif.madsen at asteriskdocs.org
Mon Aug 11 13:37:10 CDT 2008


Based on the feedback received in this thread so far, here is an updated 
version of the bug status guidelines. Please continue to review, and 
thank you for the feedback!

Note: I have not updated the RESOLVED status based on Jay's feedback 
yet. I do believe his suggestion to wait for either:

a) the original poster to acknowledge that the issue has been resolved 
and that the bug can be closed

- or -

b) that a period of time (to be determined, most likely 1-2 weeks) has 
elapsed without a response, that the issue can be closed.

...will be done, but until the scripts that automatically close the bugs 
are updated, then I will leave the description for now.

Thanks!
Leif Madsen.

~~~~~~~~~~~~~~~~~~~~~~~~~~

BUG TRACKER WORKFLOW

The workflow in the bug tracker should be handled in the following way:

1) A bug is reported and is automatically placed in the 'new' status.[Note1]

2) The Bug Marshall team should go through bugs in the 'new' status to 
determine whether the report is valid (not a duplicate, hasn't already 
been fixed, not a Digium tech support issue, etc.).  Invalid reports 
should be set to 'closed' with the appropriate resolution.  Categories 
and descriptions should be corrected at this point.[Note2]

3) The next step is to determine whether the report is about a bug or a 
submission of a new feature. Note that not all bugs will follow this 
entire workflow, as some bugs may be resolved by a developer and closed 
out immediately; i.e. when a trivial bug is found and resolved.

      a) BUG: A bug should be moved into the status 'acknowledged' after 
the initial triage has been performed. Initial triage includes, but is 
not limited to, obtaining a description of how to recreate the bug, 
appropriate logs and traces, and any additional information required by 
a developer in order to solve the issue. The bug may flip between 'new' 
and 'feedback' statuses several times until the required information is 
obtained before moving to 'acknowledged'.

       The bug may also be assigned to a developer for the creation of 
the initial patch, or review of the issue. Once a patch has been created 
for the issue and attached, the issue can then be moved to the 
'confirmed' status. At this point initial code review and discussion 
about the patch will take place. Once an adequate amount of support for 
the implementation of the patch is acquired, then the bug can be moved 
to the 'ready for testing' status for wider testing by the community. 
After the testing phase is complete and it appears the issue is 
resolved, the patch can be committed by a developer and closed.

      b) FEATURE: As new features should be filed with a patch, it can 
be immediately moved to the 'confirmed' status, making it ready for 
basic formatting and code review. From there any changes to style or 
feel of the patch based on feedback from the community can be discussed, 
and changes to the patch made. It can then be moved forward to the 
'ready for testing' status. Once the feature has been merged, or a 
decision has been made that it will not be merged, the issue should be 
taken to 'closed' with the appropriate resolution.[Note3]

4) If at any point in the workflow, an issue requires feedback from the 
original poster of the issue, the status should be changed to 
'feedback'.  Once the required information has been provided, it should 
be placed back in the appropriate point of the workflow.[Note4]

5) If at any point in the workflow, a developer or bug marshall would 
like to take responsibility for doing the work that is necessary to 
progress an issue, the status can be changed to 'assigned'.  Once these 
changes have been completed, it can be placed back in the appropriate 
place in the workflow.

WORKFLOW SUMMARY

NEW: This issue is awaiting review by bug marshals. Categorization and 
summaries should be fixed as appropriate. Initial triage should be done 
to verify enough information in the form of a description, logs, traces, 
etc... are available to the bug marshals.


FEEDBACK: This issue requires feedback from the poster of the issue 
before any additional progress in the workflow can be made. This may 
include providing additional debugging information, or a backtrace with 
DONT_OPTIMIZE enabled, for example. Once the bug is moved to the 
feedback status, it will not be automatically moved out of this status, 
thus it is the responsibility of the bug marshals to monitor and move 
issues out of feedback status into the appropriate workflow when necessary.


ACKNOWLEGED: This is a submitted bug which has no patch associated with 
it, but appears to be a valid bug based on the description. Enough 
triage should already performed to collect the descriptions of how to 
reproduce the bug, logs, traces, etc... before moving to this status.


CONFIRMED: The patch associated with this issue requires initial 
formatting and code review, and may have some initial testing done. It 
is waiting for a developer to confirm the patch will no longer need 
large changes made to it, and is ready for wider testing from the 
community. This stage is used for discussing the feel and style of a 
patch, in addition to the coding style utilized.


READY FOR TESTING: This is an issue which has a patch that is waiting 
for testing feedback from the community after it has been deemed to no 
longer need larger changes.


ASSIGNED: A developer or bug marshall has taken responsibility for 
taking the necessary steps to move forward in the workflow.  Once the 
issue is ready to be reviewed and feedback provided, it should be placed 
back into the appropriate place of the workflow.


RESOLVED: A resolution for this issue has been reached.  This issue 
should immediately be CLOSED.


CLOSED: No further action is necessary for this issue.

PENDING RELEASE BRANCH: This status is no longer used. It is a relic of 
the Asterisk 1.2 days.

Notes:


1) Certain categories are automatically assigned to developers. In these 
cases, those developers will be responsible initially moving the bug 
through the workflow process.

2) Using the "New / Uncommented" filter is useful for finding these 
issues quickly.

3) The bug tracker now has the ability to monitor the commits list, and 
if the commit message contains something like, "closes issue #9999", the 
bug will be automatically closed.

4) Since this is not automatic, bug marshals will need to monitor the 
issues in 'feedback' in order to make sure bugs are placed back into the 
appropriate place in the workflow. This can be accomplished using the 
filtering system.

1.4 RELEASE BRANCH COMMIT POLICY

The code in the 1.4 release branch should be changed as little as 
possible.  The only time the 1.4 release branch will be changed is to 
fix a bug.  New features will never be included in the 1.4 release 
branch unless a special exception is made by the release branch maintainers.

Sometimes it is difficult to determine whether a patch is considered to 
fix a bug or if it is a new feature.  Patches that are considered code 
cleanup, or to improve performance, are NOT to be included in the 1.4 
release branch.  Performance issues will only be considered for the 1.4 
release branch if they are considered significant, and should be 
approved by the maintainers.

If there is ever a question about what should be included in the 1.4 
release branch, the maintainers should be allowed to make the decision. 
Currently the branch maintainer is Russell Bryant.



More information about the asterisk-dev mailing list