SosreportUpdates

Differences between revisions 21 and 22
Revision 21 as of 2009-01-12 16:43:38
Size: 2820
Editor: 189-31-214-42
Comment:
Revision 22 as of 2009-01-12 18:02:14
Size: 2924
Editor: 189-31-214-42
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 * all self tests must pass. It is already a Landscape standard coding practice to write unit tests for every code change as well as have them all pass before commit.  * all self tests must pass. It is already a Landscape standard coding practice to write unit tests for every code change as well as have them all pass before commit. landscape-client has, as of version 1.0.23, 1469 individual test cases that cover the entire code base.

DRAFT, please send comments to andreas at ubuntu.com

This document describes the policy for updating Landscape client packages in a stable supported distro, including LTS. It is also the aim of this document to provide an example of the needed minimum requirements for any upstream project that wants to push updates to an Ubuntu stable release.

Landscape is a commercial service from Canonical which periodically offers new features to its customers. Being a client-server product, the client part needs to be periodically updated in order to take advantage of the new features. Therefore, in addition to bug fixes, new features are allowed in an update as long as the conditions outlined below are met.

QA Process

This is the mandatory QA process that the proposed packages have to pass. The following requirements must be met:

  • each change must have a Launchpad ticket filed under the landscape-client project (https://bugs.launchpad.net/landscape-client/+filebug). Packaging bugs should be filed against the landscape-client ubuntu package (https://bugs.launchpad.net/ubuntu/+source/landscape-client/+filebug)

  • each one of those tickets must have:
    • two developer reviews approving the change (already a standard Landscape coding practice)
    • a specific QA review
    • a "Committed" status
  • the code must be developed according to the TDD (Test Driven Development) model. For reference, see http://en.wikipedia.org/wiki/Test-driven_development. Basically, it means that every code change must be covered by a test. Yes, really.

  • all self tests must pass. It is already a Landscape standard coding practice to write unit tests for every code change as well as have them all pass before commit. landscape-client has, as of version 1.0.23, 1469 individual test cases that cover the entire code base.

The above tests exercise the code changes and must be performed by a member of the Landscape team. The packaging changes need an extra QA procedure outlined below.

Packaging QA

The objective of the separate packaging QA is to test:

  • package upgrades
  • package installation from scratch
  • distribution upgrade

The resulting package, with all the changes in place, must undergo and pass the following additional QA procedures:

  • upgrade test from previous distribution to the current one. If the current distribution is an LTS one, the upgrade path from the previous LTS distro must also be exercised.
  • upgrade test from previous version of the package. This test must be performed with:
    • apt-get install/upgrade
    • using the Landscape service itself
  • installation from scratch in the current distribution:
    • using apt-get

The above tests can be performed by any QA engineer.

Requesting the SRU

The SRU should be requested as usual (StableReleaseUpdates) with the additional note about having the above steps being completed.

SosreportUpdates (last edited 2023-12-06 15:53:39 by yanisa-hs)