MilestoneRhythm

Differences between revisions 3 and 26 (spanning 23 versions)
Revision 3 as of 2006-06-20 07:38:25
Size: 4474
Editor: ALagny-109-1-2-23
Comment: technical routine
Revision 26 as of 2008-08-06 16:39:27
Size: 5715
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/milestone-rhythm
 * '''Created''': [[Date(2006-06-19T15:55:11Z)]] by ColinWatson
 * '''Contributors''': ColinWatson
 * '''Launchpad Entry''': UbuntuSpec:milestone-rhythm
 * '''Created''': <<Date(2006-06-19T15:55:11Z)>> by ColinWatson
 * '''Contributors''': ColinWatson, AdamConrad, ScottJamesRemnant, TollefFogHeen
Line 13: Line 13:
We tend to do a lot of things leading up to milestone releases, such as clear out pending anastacia promotions/demotions, check britney uninstallables and out-of-date output, clear out bits of queue/new, etc. This specification documents what needs to be done, how frequently, and when it should be done, in relation to the actual ISO-building and release process. We tend to do a lot of things leading up to milestone releases, such as clear out pending promotions/demotions, check britney uninstallables and out-of-date output, clear out bits of queue/new, etc. This specification documents what needs to be done, how frequently, and when it should be done, in relation to the actual ISO-building and release process.
Line 21: Line 21:
== Design == == Routine technical tasks ==
Line 27: Line 27:
 * clear out pending main/universe promotions/demotions at least weekly (http://people.ubuntu.com/~cjwatson/anastacia.txt)  * clear out pending main/universe promotions/demotions at least weekly (http://people.ubuntu.com/~ubuntu-archive/component-mismatches.txt)
Line 29: Line 29:
 * sync priority overrides at least weekly (http://people.ubuntu.com/~cjwatson/jessica.txt)  * sync priority overrides at least weekly (http://people.ubuntu.com/~ubuntu-archive/priority-mismatches.txt)
Line 33: Line 33:
 * check britney uninstallables and out-of-date output daily (http://people.ubuntu.com/~cjwatson/testing/edgy_probs.html)  * check britney uninstallables and out-of-date output daily (http://people.ubuntu.com/~ubuntu-archive/testing/feisty_probs.html)
Line 39: Line 39:
 * upgrade testing? (but should be automated)
 * buildability tests
 * [[UbuntuSpec:auto-dist-upgrade-testing|upgrade testing]]
 * [[UbuntuSpec:frequent-rebuild-testing|buildability tests]]
 * update app-install-data desktop file database (see GnomeAppInstallDesktopDatabaseUpdate for details, mvo does that regularly).
Line 44: Line 45:
We will write a script to check for out-of-sync components, sections, and priorities between architectures, since it is slightly too easy to produce such overrides by accident during routine archive maintenance. (Note that in the future some priorities may be legitimately out of sync between architectures.) SoyuzSpec:overrides-consistency-check requests writing a script to check for out-of-sync components, sections, and priorities between architectures, since it is slightly too easy to produce such overrides by accident during routine archive maintenance.
Line 46: Line 47:
We will publicise the sync blacklist, which lists sources that cannot be synced from Debian for various reasons. In particular, this blacklist includes sources which have been modified in Ubuntu and whose binaries have been moved to other source packages, which is a situation that generally needs to be resolved by those responsible for those source packages in Ubuntu. The [[http://people.ubuntu.com/~ubuntu-archive/sync-blacklist.txt|sync blacklist]] lists sources that cannot be synced from Debian for various reasons. In particular, this blacklist includes sources which have been modified in Ubuntu and whose binaries have been moved to other source packages, which is a situation that generally needs to be resolved by those responsible for those source packages in Ubuntu. This needs occasional gardening.
Line 48: Line 49:
== Implementation == == Milestone release processes ==
Line 50: Line 51:
=== Code === The following checklist should be followed by milestone release managers. (Those people should feel free to amend this if experience demonstrates that other tasks are necessary.)
Line 52: Line 53:
=== Data preservation and migration ===

== Outstanding issues ==

== BoF agenda and discussion ==

Raw notes:

Social routine:

 * check that everyone who cares has landed everything major they need to (or talk them out of it)
 * announce milestone freeze on -devel-announce(?) and #ubuntu-devel topic
 * set distro to frozen in Soyuz temporarily (and make sure that unapproved is cleaned out afterwards)
 * warn QA of upcoming release
 * warn doc team to prepare web page about changes since last milestone (ideally do this a few days in advance)
 * prepare release announcement (should basically just refer to web page); somebody needs to go over DISTRO-changes to make sure everything relevant is in there
 * Release (and if necessary, beat up `publish-release` until it works)
 * verify that all mirrors have images
 * send announcement (and argue with people about where it goes; current opinion seems to be `ubuntu-devel-announce` for non-beta/RC/final releases, and Bcc to `fridge-devel`)
 * [...]
 * PROFIT
 * A few days in advance of the planned milestone release date, ask the marketing team (ubuntu-marketing@lists.ubuntu.com) to prepare a web page about the changes since the last milestone.
 * Check that core developers have landed everything major they need to land (or talk them out of it).
 * Warn the QA team of the upcoming milestone release.
 * Tell Jeff Bailey that we're getting close to a release and ask for re-certification on our test hardware.
 * Announce the milestone freeze on the #ubuntu-devel topic and possibly `ubuntu-devel-announce`. There is generally no need to tell people to hold off on uploads, as they will be held automatically by Soyuz once the next task is performed.
 * Set the distrorelease to FROZEN in Soyuz temporarily.
 * Stop all live filesystem and cdimage cron jobs.
 * Clear out the testing grid
 * Test and iterate uploads as required, make sure to clear the testing grid for each iteration.
 * Go over DISTRORELEASE-changes since the last milestone to make sure that all relevant major changes have been documented in the milestone's web page.
 * Prepare the release announcement (this should refer to the web page prepared by the doc team rather than going into details of changes itself).
 * Publish the milestone CD images. This usually requires mangling the HEADER.html in the directory where the images are stored, since publish-release isn't smart enough to do the right thing there.
 * Verify that all mirrors have images.
 * Send the release announcement (current opinion on the target for the announcement seems to be `ubuntu-devel-announce` for non-beta/RC/final releases, and Bcc to `ubuntu-news-team`).
 * Set the distrorelease back to DEVELOPMENT.
 * Clear out any pending entries in the UNAPPROVED queue.
 * Turn live filesystems and cdimage cron jobs back on.

Summary

Processes and plans for milestone release preparation.

Rationale

We tend to do a lot of things leading up to milestone releases, such as clear out pending promotions/demotions, check britney uninstallables and out-of-date output, clear out bits of queue/new, etc. This specification documents what needs to be done, how frequently, and when it should be done, in relation to the actual ISO-building and release process.

Use cases

  • New members of the archive administration and milestone release management teams need to come up to speed quickly.
  • Milestone release managers want a checklist of things to do during milestone preparation to ensure that quality is as high as possible.
  • Milestone release managers want as many tasks as possible to be automated or simple so that milestone releases can be prepared regularly and frequently.

Routine technical tasks

The following tasks need to be performed frequently by archive administrators, and should be reviewed at the start of milestone release preparation:

The following tasks need to be performed occasionally by the milestone release managers and anyone else interested in helping, and should be reviewed during milestone release preparation:

The following tests need to be performed occasionally and may be part of milestone release preparation, depending on the desired quality/cost trade-off for the milestone in question:

Where possible and sensible, we will produce automatic reports of at least some of the above which are mailed to the ubuntu-archive and ubuntu-release teams as appropriate (and perhaps others) daily.

overrides-consistency-check requests writing a script to check for out-of-sync components, sections, and priorities between architectures, since it is slightly too easy to produce such overrides by accident during routine archive maintenance.

The sync blacklist lists sources that cannot be synced from Debian for various reasons. In particular, this blacklist includes sources which have been modified in Ubuntu and whose binaries have been moved to other source packages, which is a situation that generally needs to be resolved by those responsible for those source packages in Ubuntu. This needs occasional gardening.

Milestone release processes

The following checklist should be followed by milestone release managers. (Those people should feel free to amend this if experience demonstrates that other tasks are necessary.)

  • A few days in advance of the planned milestone release date, ask the marketing team (ubuntu-marketing@lists.ubuntu.com) to prepare a web page about the changes since the last milestone.

  • Check that core developers have landed everything major they need to land (or talk them out of it).
  • Warn the QA team of the upcoming milestone release.
  • Tell Jeff Bailey that we're getting close to a release and ask for re-certification on our test hardware.
  • Announce the milestone freeze on the #ubuntu-devel topic and possibly ubuntu-devel-announce. There is generally no need to tell people to hold off on uploads, as they will be held automatically by Soyuz once the next task is performed.

  • Set the distrorelease to FROZEN in Soyuz temporarily.
  • Stop all live filesystem and cdimage cron jobs.
  • Clear out the testing grid
  • Test and iterate uploads as required, make sure to clear the testing grid for each iteration.
  • Go over DISTRORELEASE-changes since the last milestone to make sure that all relevant major changes have been documented in the milestone's web page.
  • Prepare the release announcement (this should refer to the web page prepared by the doc team rather than going into details of changes itself).
  • Publish the milestone CD images. This usually requires mangling the HEADER.html in the directory where the images are stored, since publish-release isn't smart enough to do the right thing there.
  • Verify that all mirrors have images.
  • Send the release announcement (current opinion on the target for the announcement seems to be ubuntu-devel-announce for non-beta/RC/final releases, and Bcc to ubuntu-news-team).

  • Set the distrorelease back to DEVELOPMENT.
  • Clear out any pending entries in the UNAPPROVED queue.
  • Turn live filesystems and cdimage cron jobs back on.


CategorySpec

MilestoneRhythm (last edited 2008-08-06 16:39:27 by localhost)