wiki:ReleaseCookbook

Version 10 (modified by pulkomandy, 6 years ago) ( diff )

--

This page gather random notes about doing Haiku releases.

General rules

Take care of this:

  • Don't rush the release. Better delay it a bit and take the time to make sure everything is ok.
  • Make sure the final image is really well tested.
  • Start planning early. Getting the release ready takes time. Waiting until a new release is urgent is a bad idea.

Pre-branching

This is an actual phase of the release schedule. It's purpose is to grab the attention of all contributors -- committers, bug reporters, translators, everyone.

Getting the development team in "release mode" is not easy. The Trac roadmap is a good indicator of how close we are, but there is some "under the hood" stuff that's hard to predict, like important work happening in a branch we'd really want to merge.

  • Announce the intent to enter release mode: ML, Website. At this point, we should already have a release coordinator.
  • Define the schedule and target date.
  • Cleanup the Trac roadmap of mis-targetted tickets: most stuff can be postponed.
  • Allow developpers to push any remaining drastic changesets
  • Selection of haikuports packages that should be in the package repo, and first run of build and testing for these.
  • Make sure the API stays stable (Services Kit, Layout Kit, Locale Kit) for some time before the release so 3rd-party app can be up to date on it.
  • Complete the release roadmap and set the purpose for the release: http://dev.haiku-os.org/wiki/R1/ReleaseRoadMap
  • Setup the wiki pages for the release (http://dev.haiku-os.org/wiki/R1/Alpha3/)

Branching

  • Fix all the blocking bugs
  • Branch the release

svn copy svn+ssh://pulkomandy@svn.haiku-os.org/srv/svn/repos/haiku/trunk svn+ssh://pulkomandy@svn.haiku-os.org/srv/svn/repos/haiku/branches/releases/r1alpha3/

  • Update the version constants ( hrev36344 , hrev36348 )
  • remove the sleeps in the Bootscript
  • diable serial debug output (hrev36721) and in the kernel config file
  • update installoptionalpackage to read the release branch ( hrev41623 )
  • Tag the build tools
  • Update the build tools in the branch ( hrev36378 )
  • Rebuild the optional packages - NO update of the packages at this point.
  • Fix any remaining bugs [merge stuff from master on an exceptional basis] and do general polishing. Give some preview to people so they can test it.
  • import user guide (hrev36743, hrev36744) and synchronize locale catalogs
  • Freeze the branch
  • Make the branch official ( hrev36768 )
  • Add the ladybugs, stamp in installer logo, etc.
  • Have a test run of the golden master image to spot last remaining critical bugs
  • Cooldown phase: testing of the golden master image on as much hardware as possible: booting, installing, using, for all image types (anyboot, iso, vmware).
  • Tag the branch
  • Write the release notes and press releases
  • Prepare release-files-directory:
     [release-name]/
      |--md5sums.txt (of compressed and uncompressed release-image-files)
      |--release_notes_[release-name].txt
      |--[release-image-files]  (both as .zip and .tar.xz)
      |--[release-image-files].torrent (of just the .zip's)
      |--[release-name]/sources/   (all source archives should be .tar.xz)
           |--haiku-[release-name]-src-[YYYY-MM-DD]
           |--haiku-[release-name]-buildtools-src-[YYYY-MM-DD]
           |--[all optional packages]
    
  • rsync release-files-directory to http://haiku-files.org/files/releases/[release-name]
  • rsync release-files-directory to baron:/srv/rsync/haiku-mirror-seed/releases/[release-name]/ (the 3rd-party rsync mirrors will automatically mirror the files)
  • Tell Distrowatch: http://distrowatch.com/table.php?distribution=haiku (?)
  • Update the freshmeat/freecode page: http://freecode.com/projects/haiku (mmu_man)

After the release

  • Create new Trac "version" and close current milestone
  • Create source archives for legal purposes (GPL compliance)
  • Update the Roadmap wiki page again with the final release date
  • Prepare graphics for the download page: stamp, ladybugs, cd/dvd graphics

Website Pages to update:

Updating download logo for website front page:

sudo bash
cd /srv/www/drupal/haiku-os.org/themes/shijin/haiku-images
mv bg-download-box.png GET-HAIKU-download-box-r1a1.png
cp GET-HAIKU-download-box-r1a2.png bg-download-box.png
Note: See TracWiki for help on using the wiki.