Foundations/QATaggingProcessImprovements

Not logged in - Log In / Register

This page describes how the development/QA process should look like with the adoption of no-qa and incremental tags.

QA Tagging Process

Definition: a bug is the smallest unit of QA.

Current approach and known issues

As a rule, if it needs QA, a merged branch should be represented by at least one bug.

Rarely, QA is not necessary for some branches, or can't be done. Problem is with the current process, we assume those are orphaned, and people still need to verify the list of OCs [1] every now and then to ensure no revisions are missing QA.

Also rarely, some branches cannot be QA'd until more branches land--they are incremental branches towards a larger bug. Again, current process doesn't cover this situation, changing the status of the bug to 'Fix Committed' and tagging it as qa-needstesting every time a bug is mentioned, regardless if that is only a partial fix or not.

Proposed changes

Two tags come into play: [no-qa] and [incr]. Therefore, to get your branch landed, you must assert that your branch falls in one of the following categories. Each category below describes what you need to do to make the assertion. It also tells you what automation it will trigger.

  1. We can QA it, and it fixes one or more bugs.
    • What you do: Link the bug to the branch in Launchpad.
    • What the script does: Each related bug is marked Fix Committed and tagged qa-needstesting.
  2. We cannot QA it, and it is an incremental step towards one or more bugs.
    • What you do: Link the bug and the branch in Launchpad, and pass --incr or --incremental to ec2 land or bzr lp-land. NOTE: don't say that the last branch in an incremental chain is [incr]. Just submit it with a bug link, like category 1.

    • What the script does: We add a comment in each related bug about the branch landing, and include it in a QA report for the current cycle (just a wiki page for now).
  3. We cannot QA it, but it fixes one or more bugs.
    • What you do: Link the bug and the branch in Launchpad, and pass --no-qa to ec2 land or bzr lp-land.

    • What the script does: Each related bug is marked Fix Committed and tagged qa-untestable.
  4. We cannot QA it, and it does not have an associated bug.
    • What you do: Pass --no-qa to ec2 land or bzr lp-land.

    • What the script does: We include it in a QA report for the current cycle (just a wiki page for now).

PQM enforce these rules with the usual regex dances. ec2 land and bzr lp-land help you conform to the PQM regex with quicker and more helpful error messages. Alternatively, you can add "[incr]" or "[no-qa]" in your PQM submission message yourself, if using pqm-submit directly, but we don't recommend it.

Implementation Status

https://bugs.edge.launchpad.net/launchpad-project/+bugs?field.tag=orphaned-branches

Bug

Status

588908: Add parsing capability to recognize the flags [incr] and [no-qa] in the PQM commit message

Fix Released

591856: Change script behavior to always check linked bugs

Fix Committed

601995: add ec2 land support to [no-qa] and [incr] tag

In Progress

602137: add bzr lp-land support to no-qa and incr QA tags

In Progress

604919: Change the PQM regex to enforce use of [no-qa] and [incr] commit message clause.

Triaged

Foundations/QATaggingProcessImprovements (last edited 2010-07-13 11:00:52 by ursinha)