NewReleaseCycleProcess

Revision 1 as of 2007-09-17 17:53:43

Clear message

To be carried out by: Adam Conrad and Ubuntu Release Manager

Goals:

  • Unblock development process for new release as quickly as possible.
  • Prepare for first milestone CD release.

Previous release minus 1 month:

  1. Contact Soyuz development/production teams to ensure that they will be ready to create the new distrorelease on time.
  2. Remind toolchain developers to begin preparing the new toolchain.

Previous release minus 2 weeks:

  1. Double-check with Soyuz development/production teams.
  2. File an RT ticket asking for distrorelease-changes to be set up.

Previous release plus 1 day:

  1. Notify a Launchpad admin to create new distrorelease with status FROZEN.

  2. Create a milestone named ubuntu-$version in the release

  3. Create new seed branches based on those for the previous release, and push them to the appropriate subdirectories of sftp://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/.

  4. Notify Colin Watson to set up seed mirrors and germinate output for the new distrorelease.
  5. Reject any queued uploads to RELEASE pocket of previous distrorelease.

  6. Disable the Soyuz publisher cron jobs.
  7. Check that the new distrorelease exists with status FROZEN, and that the previous distrorelease has status CURRENT.

  8. Notify Soyuz production team to run lp_publish:$ LPCONFIG=ftpmaster ./scripts/ftpmaster-tools/initialise-from-parent.py <new-distrorelease-name> on drescher (takes around 8 minutes).

  9. Run the publisher once: lp_publish:$ LPCONFIG=ftpmaster ./scripts/publish-distro.py -d ubuntu -vv -A -s DRN -s DRN-updates -s DRN-security -s DRN-proposed -s DRN-backports where DRN is the new distrorelease name. This run will create the proper archive indexes for all suites (takes around 25 minutes).

  10. Compare dists trees for previous and current distrorelease and sign off on any differences; the only differences should be the distrorelease name.

    • ~ubuntu-archive/bin/compare-archives or other tools may be useful for this - XXX nominate one and install in a standard location on drescher

  11. Verify hard-coded parameters in Soyuz shell-scripts: './cronscripts/publishing/cron.germinate' and './cronscripts/publishing/gen-contents/generate-contents'.
  12. Re-enable the Soyuz publisher cron jobs.
  13. Notify Colin Watson to modify various reports (britney, anastacia, jessica) to point to the new distrorelease.

  14. Notify Scott James Remnant to set up merge-o-matic to point to the new distrorelease.

  15. Notify toolchain developers to upload new toolchain. Iterate uploads as necessary until this has successfully built on all architectures.
  16. Notify a Launchpad admin to set the status of the new distrorelease to DEVELOPMENT.

  17. Inform #ubuntu-devel and ubuntu-devel-announce that the new release is now open for uploads, pointing to merge-o-matic output.

  18. Create data/RELEASE, tools/RELEASE, and tools/boot/RELEASE directories in debian-cd based on corresponding directories for the previous release. Set OFFICIAL to "Alpha" in CONF.sh for the new release. Adjust cdimage code to be aware of the new release.

  19. Turn live filesystem and cdimage cron jobs back on.
  20. Update UbuntuWiki:UbuntuDevelopment to reflect the code name of the current release

First weeks, after toolchain complete:

  1. Merge base-files if necessary and change /etc/issue, /etc/issue.net, /etc/motd, and /etc/lsb-release to refer to the new release.

  2. Merge debootstrap if necessary and create a bootstrap script for the new release as a copy of the previous one.

  3. Merge devscripts, lintian, and vim if necessary and update lists of Ubuntu release names to include the new release name.

  4. Merge cdrom-detect, choose-mirror, and iso-scan if necessary and update cdrom/suite and /mirror/suite debconf templates to include a choice for the new release and update any previous default.

  5. Merge the rest of the installer in dependency order, ending with debian-installer once all other installer components have built successfully on all architectures.

  6. Notify oem-config and ubiquity maintainer(s) to run debian/rules update, adjust as necessary to account for changes, and upload.

  7. Upload a new version of WinFOSS with new version numbers (heno)
  8. Continue on MilestoneProcess.