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. Update OTB/CMakeLists.txt version numbers in branch 'develop' to the next development version (i.e. : X.(Y+1).0 )
  3. Update OTB/CMakeLists.txt version numbers in branch 'release-X.Y' to X.Y.0
  4. Update dashboard scripts to support new version numbers
  5. Update the SuperBuild archive
  6. Duplicate the How to release TODO list on Framacalc to track actions for this list
  7. Send an email to otb-developers to announce the beginning of the release process.
  8. Gather feedback on bugs that need to be fixed, make a public list and track the fixes to be able to get progress info during the release
  9. Run Debian spelling checker
  10. Run shellcheck script from OTB-Devutils/Scripts/
  11. Update translation for Monteverdi & Mapla
  12. Update FAQ, Cookbook and Software Guide (download, installation and compilation sections, contributor list) in both develop and release branch.
  13. Update release notes with mantis bug report and improvements for OTB, Monteverdi and Ice (walk the git history, RFCs & co.)
  14. Update GIT_TAG for all official remote modules
  15. Sanity check the binary packages
  16. Tag the release branches
  17. Prepare and upload source packages
  18. Promote nightly packages
  19. Update documentation
  20. 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. Gather feedback on bugs that need to be fixed, make a public list and track the fixes to be able to get progress info during the release
  4. Update release notes with mantis bug report and improvements.
  5. Update release notes (walk the git history and log all improvements) for OTB, Monteverdi and Ice.
  6. Update the date in RELEASE_NOTES.txt
  7. Sanity check the binary packages
  8. Tag the release branches
  9. Merge the release into master
  10. Prepare and upload source packages
  11. Promote nightly packages
  12. Update documentation
  13. Upload OTB source archive to Zenodo to create a unique Digital Object Identifier (DOI)
  14. Update the website "Home" and "Download" pages with version numbers and links.
  15. Update OTB-Data-Examples.tgz on orfeo-toolbox (packages)
  16. Send email to mailing list to announce the release
  17. Release announcement on the blog
  18. Announcement on social networks (twitter, google+)
  19. Forward announcement to news_item@osgeo.org (OSGeo news)
  20. Plan the next release (nominate new release manager, setup PSC meeting on IRC)
  21. Contact QGis processing plugin maintainer to update XML description for new OTB-Applications (or supply it)
  22. Remove public branches related to RFC or bugfix merged before the release