ANNOUNCE: Review requests

Matthew Miller mattdm at mattdm.org
Fri Mar 18 19:58:16 UTC 2005


On Thu, Mar 17, 2005 at 03:51:12PM -0500, Dave Lawrence wrote:
> Is this system externally accessible and if so, may I see how you have 
> it set up?

Yes, it's externally accessible -- you can pretty quickly find it from the
address in my .sig. I don't want it pounded on too much though, since we're
tryin' to get work done too. :)

Here's how our basic workflow goes:

 Each bug has three associated roles: Assignee, QA Contact, and
 Repository Wrangler. (Well, four, counting Reporter.)

 There is a 'fake' user named 'unassigned', who is the currently the default
 for all of these. That user's mail is forwarded to the project management
 team, and when a new bug comes in, the various roles are assigned.

 Generally, one Repo Wranger is associated with one tree in our (AFS-based)
 repository. I need to hack up bugzilla a bit further to make it able to
 have release-based defaults rather than just package-based. In our
 situation, Assignee and QA Contact are rather fluid, as we try to balance
 out knowledge, but in general it probably makes sense to have default
 per-package assignees (and maybe a team of QA Contacts assigned new work
 based on current workload?).

 We use the default list of Statuses, and each is associated with a
 clearly-defined state:

 Open bugs:

   UNCONFIRMED: new bug filed by someone outside of the project
   NEW:         new bug filed or confirmed by someone in the project
   ASSIGNED:    in progress
   REOPENED:    rejected by QA

  Awaiting QA:

   RESOLVED:    when the assignee finishes, the bug gets a comment
                with the relevant changelog entries and the new package
                version. The src rpm (with binaries in the special case
                of upstream updates which we don't rebuid) gets passed on
                to the QA contact via a "dropbox" directory in AFS. (which
                is restricted via AFS acls).

  Awaiting Release:

   VERIFIED:    QA contact inspects package (and particularly, the most
                recent changes) and makes sure that it still looks sane.
                We don't generally spend time regression-testing all 
                features of every package -- I wish we could. If it doesn't
                pass muster, it gets reopened. Otherwise, it gets marked
                as VERIFIED, and the src rpm is copied to a for-release
                area in AFS.

  Released to tree:

   CLOSED:      Repo Wrangler does final rebuild (currently, using dedicated
                build machines and a simple rebuildrpm script) of the
                package from for-release, signs the package, and copies
                it into the devel or updates or whatever tree, and marks
                the bug closed.


We could probably do with some more interim package signing along the way,
but basically we trust to the security of kerberos/AFS for in-progress
packages.

Also, all bugzilla-generated e-mail is tagged with custom X- headers
indicating the current state and various bug roles and so on, which makes it
easy to flag e-mail about, for example, bugs for which you are the QA
Contact which are RESOLVED, while ignoring work which isn't ready for you
yet or which has passed beyond where you're involved.

Bugs which are filed against a package for which no component currently
exists use the component "~ unlisted". I get these, and manually add the
component to bugzilla. (If there's a lot, I have simple script which does
this for multiple packages based on the output of "rpm -qip *".)

I also manage the priority field pretty closely, so it's actually
meaningful. (Another thing I want to do is restrict the set of people who
can change this.)


-- 
Matthew Miller           mattdm at mattdm.org        <http://www.mattdm.org/>
Boston University Linux      ------>                <http://linux.bu.edu/>




More information about the fedora-extras-list mailing list