[asterisk-dev] [policy] Bug Tracker Workflow Discussion
Leif Madsen
leif.madsen at asteriskdocs.org
Mon Aug 11 09:07:26 CDT 2008
Happy Monday!
After taking a step back and thinking about the work flow of the bug
tracker again, I decided to go back through the document Russell Bryant
originally created, and make some more changes. Some of these changes
were discussed briefly on #asterisk-dev, but I'd like to get the wider
community thought before publishing this on asterisk.org.
Of course, if we find this policy needs to be updated or changed over
time, then we will continue to refine and make the bug tracker work as
efficiently as possible.
I look forward to your feedback!
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.
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.[Note1]
3) The next step is to determine whether the report is about a bug or a
submission of a new feature:
a) BUG: A bug should be moved into the status '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.[Note2]
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.
5) If at any point in the workflow, a developer or bug marshal 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.
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.
ACKNOWLEGED: This is a submitted bug which has no patch associated with
it, but appears to be a valid bug based on the description.
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 marshal 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) Using the "New / Uncommented" filter is useful for finding these
issues quickly.
2) 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.
RELEASE BRANCH COMMIT POLICY
The code in the release branches should be changed as little as
possible. The only time the release branches will be changed is to fix
a bug. New features will never be included in the 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
release branches. Performance issues will only be considered for the
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 release
branch, the maintainers should be allowed to make the decision.
More information about the asterisk-dev
mailing list