JonStanley/BugWorkflow

From FedoraProject

Jump to: navigation, search

Contents

Bug Workflow Proposal

[[TableOfContents()]

Overview

Problem Space

There currently is no formal viable, written bug lifecycle within Fedora. This proposal is make a process, applicable to all package maintainers, which addresses the workflow problems that exist currently within Fedora

Proposed Solution

Lifecycle of a bug

1. Reporter files a bug report, it originates in NEW state

1. Triage team looks at bug report, determines if dupe or insufficient information exists to solve it. If there is not enough information in the bug, then triage team puts the bug in NEEDINFO. As you will see below, this state has a finite life cycle associated with it.

1. Assuming bug survives through the triage team, it changes state to ASSIGNED (triage team can put it in either NEEDINFO or CLOSED, as appropriate). Note that per the definition[1] , ASSIGNED does not mean that someone has actually agreed to take action, simply that the issue is well defined and triaged accordingly

1. --(Once a developer has taken responsibility for a bug and is actively working on it, the state transitions to ON_DEV.)-- This was a pretty hair brained idea. There are other ways to catch deadbeat maintainers (which this was intended for) JonStanley

1. Once a fix is in CVS, the state of the bug moves to MODIFIED (manually by the maintainer).

1. Once an update addressing a bug exists in Bodhi, and is pushed to updates-testing, the status automatically transitions to ON_QA

1. When the update is pushed to stable, Bodhi optionally closes the bug automatically. If the update does not auto-close the bug, it transitions to NEEDINFO_REPORTER, with a comment explaining that the update has been pushed to stable, and to update and test in the new release.

Note that at any step of the above process, the maintainer can "fast track" the bug, and change it to ASSIGNED. The triage team is not going to look at bugs that are not in NEW or NEEDINFO state. On the flip side of that, it is not a maintainer's responsibility to look at bugs that are in NEW any longer. They can focus their energy on the bugs that are ASSIGNED to them.

After something has been in NEEDINFO(reporter) for 30 days, it is eligible for closure by a member of the triage team after review. The purpose of this review is to simply see if perhaps the information has been provided and the reporter forgot to click the wrong checkboxes, etc.

Closing bugs UPSTREAM

When deciding to tell a user to take a report upstream from Fedora, care should be taken to not alienate the user, who is our most valuable asset. We do not want the user to feel that we told them that they reported the issue to the wrong place, and they should go take care of it somewhere else. However, it is not practical for us to report bugs upstream all the time (after all, it IS the user's bug, they can reproduce, provide additional information, test a fix, etc). We SHOULD search upstream, and determine if a similar report already exists. If it does, then the bug can be closed as UPSTREAM and the user can go join the party upstream. If there is not a matching upstream bug, and the bug is in a component where the Fedora maintainers are not able to fix the bugs and submit the patch upstream, THEN the user should be told to file an upstream bug, and helped in the process, however, the Fedora bug should probably not be closed at that point.

Scope

This proposal would include editing bug triage wiki pages with the new proposal, and all maintainers being bound by the guidelines as a condition of continued maintainer status. cvsextras sponsors would be required to educate new maintainers on this process.

Discussion Points

Comments ?

(something similar to Fedora, plus some QA stuff, and Errata production; MODIFIED is probably the only one which could be of interest to Fedora, and that's now used by Bodhi as well)

PackageMaintainers/Policy/NonResponsiveMaintainers