How to Release

From OTBWiki
Jump to: navigation, search

This article describes generic steps to perform a release. This template page can be cloned for each release and used as a check-list.

A major release will be created on its own branch:

release-X.Y: (develop) -> RC1 -> Bug fixes... -> Major Release

A minor release however, happens on the same release branch as the major release coming before it:

release-X.Y: (previous release) -> Bug fixes... -> Minor Release

[Major Release] Feature Freeze and RC1

  1. Create the new release branch
  2. Send an email to otb-developers to announce the beginning of the release process.
  3. Run Debian spelling checker
  4. Run shellcheck script from OTB-Devutils/Scripts/
  5. Update translation for Monteverdi & Mapla
  6. Update version numbers (in develop) to a development version.
  7. Update version numbers (in release-X.Y) in CMakeLists.txt for OTB (and optionally Monteverdi).
  8. Update FAQ, Cookbook and Software Guide (download, installation and compilation sections, contributor list) in both develop and release branch.
  9. Update dashboard scripts to support new version numbers
  10. Update release notes with mantis bug report and improvements for OTB, Monteverdi and Ice (walk the git history, RFCs & co.)
  11. Update the SuperBuild archive
  12. Update GIT_TAG for all official remote modules
  13. Sanity check the binary packages
  14. Tag the release branches
  15. Prepare and upload source packages
  16. Promote nightly packages
  17. Update documentation
  18. Send RC announcement email (including updated checkout commands).

Release

  1. [Minor Release only] Version number update in source code (branch release-X.Y)
  2. [Minor Release only] SuperBuild archive update (if needed)
  3. Update release notes with mantis bug report and improvements.
  4. Update release notes (walk the git history and log all improvements) for OTB, Monteverdi and Ice.
  5. Update the date in RELEASE_NOTES.txt
  6. Sanity check the binary packages
  7. Tag the release branches
  8. Merge the release into master
  9. Prepare and upload source packages
  10. Promote nightly packages
  11. Update documentation
  12. Upload OTB source archive to Zenodo to create a unique Digital Object Identifier (DOI)
  13. Update the website "Home" and "Download" pages with version numbers and links.
  14. Update OTB-Data-Examples.tgz on orfeo-toolbox (packages)
  15. Send email to mailing list to announce the release
  16. Release announcement on the blog
  17. Announcement on social networks (twitter, google+)
  18. Forward announcement to news_item@osgeo.org (OSGeo news)
  19. Plan the next release (nominate new release manager, setup PSC meeting on IRC)
  20. Contact QGis processing plugin maintainer to update XML description for new OTB-Applications (or supply it)
  21. Remove public branches related to RFC or bugfix merged before the release