Launchpad Entry: milestone-rhythm
Created: 2006-06-19 by ColinWatson
Processes and plans for milestone release preparation.
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.
- 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:
- clear out sync requests daily
- clear out bits of the NEW queue daily (particularly during sync periods)
clear out pending main/universe promotions/demotions at least weekly (http://people.ubuntu.com/~ubuntu-archive/component-mismatches.txt)
clear out pending removals at least weekly (both requested and archive-cruft-check-driven)
sync priority overrides at least weekly (http://people.ubuntu.com/~ubuntu-archive/priority-mismatches.txt)
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:
check britney uninstallables and out-of-date output daily (http://people.ubuntu.com/~ubuntu-archive/testing/feisty_probs.html)
- check that ISOs actually work as frequently as is convenient
- check for .OVERSIZED files daily, and do something about them (may require coordination with derivative leads)
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:
update app-install-data desktop file database (see GnomeAppInstallDesktopDatabaseUpdate for details, mvo does that regularly).
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 (email@example.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.