How to Release 3.18

From OTBWiki
Revision as of 09:44, 8 July 2013 by Manuel.grizonnet (Talk | contribs) (J)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Release Candidate preparation

J-2

  • Update version numbers in CMakeLists.txt for OTB (and Monteverdi, OTB-Wrapping if needed)
  • Update version numbers in doxygen
  • Update version numbers in software guide and cookbook
  • Update release notes
    • Walk the mercurial history and log all improvements
    • Generate mantis report
      • Use Advanced Filters
      • Select all projects in the combobox : Orfeo Toolbox (OTB)
      • Set "Use Date" and "Resolution" filters
      • Export in cvs format
      • Use processBugReport.py from OTB-DevUtils/Scripts
      • Copy/paste the result in the release notes
  • Update list of contributors if necessary
  • Prepare announcement email
  • Prepare announcement on the blog

It would be nice to be able to include the list of commit with contributors between the 2 last releases as ITK. A first try of command to do this:

hg log --template "{author|person} : {desc|firstline}\n" -r 3.16.0:tip | sort

For the release 3.18 it gives more than 500 commits so I did not include the list in the announcement

J-1

  • Last minute fixes, but avoid if possible
  • Before nightly deadline, tag for RC
    • tag OTB hg tag 3.18-rc1 MANU
    • tag Monteverdi MANU
    • tag OTB-Wrapping MANU
  • Make TGZ source packages MANU
  • Make ZIP source packages MANU
  • Ensure you named the zipped files with the same convention as the previous release (OTB -> OTB ; Monteverdi -> Monteverdi)
  • Test the source packages MANU
  • Upload the packages on www.orfeo-toolbox.org/packages MANU

J

  • Last dashboard check to confirm the release candidate
  • On failure :
    • Remove the source packages from the http server
    • Backout tags
    • Go back J-1
  • Copy from www.orfeo-toolbox.org/packages/nightly/latest to www.orfeo-toolbox.org/packages :
    • Monteverdi Windows installer
    • Monteverdi Mac installer
    • SoftwareGuide PDF and update simlink in packages (ln -fs {/path/to/file-name} {link-name})
    • Copy the SoftwareGuide HTML version to www and update simlink (ln -fs {/path/to/file-name} {link-name})
    • Cookbook PDF and update simlink in packages (ln -fs {/path/to/file-name} {link-name})
    • Copy the Cookbook HTML version to www and update simlink (ln -fs {/path/to/file-name} {link-name})
  • Handle FAQ :
    • www/FAQ/index.html points to www/FAQ.html : don't touch it.
    • update symlink www/FAQ.html to www/SoftwareGuide-$VERSION/SoftwareGuidech32.html
  • Generate Applications HTML version (generated by the Python script generateAppliDoc.py)
python generateAppliDoc.py  OTB_BIN_DIR APP_DOC_OUTPUT_DIR
  • Upload the Applications HTML version and update simlink
  • Send RC announcement email (and blog post if there is one)

Final release preparation

J-2

  • Find a release code name
  • Prepare annoucement email MANUEL
  • Prepare annoucement on the blog MANUEL
  • Launch doxygen generation (will finish on J)
  • Update documentation about installation (version number, packages name, list of supported platform) if necessary
  • Launch javadoc generation

J-1

  • No last minutes fix allowed
  • Test the nightly generated binary packages
  • Update date in RELEASE_NOTES.txt
  • Before nightly deadline, tag for finale release
    • tag OTB
    • tag Monteverdi
    • tag OTB-Applications
    • tag OTB-Wrapping
    • tag OTB-Data
    • tag OTB-Documents
    • tag OTB-DevUtils
  • Prepare TGZ source packages
  • Prepare ZIP source packages
  • Ensure you named the zipped files with the same convention as the previous release
  • Upload source packages
  • Upload the source packages on sourceforge (OTB, Monteverdi, OTB-Wrapping)
  • Sourceforge (see http://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20Client) :
    • Notes :
      • tsocks ssh -t julienmalik,orfeo-toolbox@shell.sourceforge.net create
      • then you can ssh/scp/etc to this shell
      • type sf-help to know where the files dir are located
    • Upload the source packages on sourceforge (OTB, monteverdi, OTB-Applications, OTB-Wrapping)
    • Upload Software pdf Guide on sourceforge
    • Upload Cookbook pdf on sourceforge
    • Upload FAQ pdf on sourceforge
  • Update status on freecode.com
  • Do some cleanup in the packages dir on orfeo-toolbox if relevant (keep new release, put release candidate packages in 'archives')

J

  • Test the generated binary packages in http://www.orfeo-toolbox.org/packages/nightly
  • Upload binary packages
    • Monteverdi-windows
    • Monteverdi-MacOS
  • Upload Software pdf Guide on orfeo-toolbox
  • Upload Cookbook pdf on orfeo-toolbox
  • Upload FAQ pdf on orfeo-toolbox
  • Upload Software pdf Guide on sourceforge
  • Upload Cookbook pdf on sourceforge
  • Upload FAQ pdf on sourceforge
  • Update OSGeo4W packages
  • Generate Ubuntu source packages and upload to launchpad
    • generate otb package
make_ubuntu_packages.sh  -d ~/Dashboard/src/OTB -r 3.18.0 -o 3.18.0 -p 1 -c "New upstream release"
    • upload to orfeotoolbox-staging-stable-ubuntugis
dput ppa-otb-staging-stable-ubuntugis /tmp/otb_3.18.0-0ppa~*.changes
    • wait for otb package availability
    • generate package and upload for monteverdi and otb-wrapping
    • wait for package availability
    • install them all on a test environment and check they can all be installed
  • Generate rpm packages
  • Update doxygen on orfeo-toolbox
  • Update javadoc on orfeo-toolbox
  • Update Software Guide online on orfeo-toolbox
  • Update Cookbook online on orfeo-toolbox
  • Update FAQ html on orfeo-toolbox
  • Generate Applications HTML version (generated by the Python script generateAppliDoc.py)
python generateAppliDoc.py  OTB_BIN_DIR APP_DOC_OUTPUT_DIR
  • Upload the Applications HTML version and update simlink
  • Update OTB-Data-Examples.tgz on orfeo-toolbox (packages)
  • Send email to mailing list to announce the release
  • Release announcement on the blog

J+1

  • Update version number to a development version (even minor number)
  • Stop nightly submission to launchpad to avoid flooding the server

J+N

  • Update osgeo-live GIS installation script and documentation with new OTB versions