How to Release OTB 5
From OTBWiki
Contents
Release Candidate preparation for OTB 5.0
J-2 / J-1
-
Update version numbers in CMakeLists.txt(done for OTB and Monteverdi Monteverdi2 is missing (upgrade branch version?)) - Update version numbers in doxygen -> Where? Guillaume?
-
Update version numbers in software guide -
Update release notesTO BE REVIEWED- 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
-
Last minute fixes, but avoid if possible -
Before nightly deadline, tag for RC- tag OTB
- tag Monteverdi
- tag Monteverdi2
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 :
- Monteverdi Windows installer
- Monteverdi Mac installer
- SoftwareGuide PDF
- Cookbook PDF
- Cookbook HTML
- Generate SoftwareGuide HTML version (still needs user interaction...)
- Upload the SoftwareGuide HTML version
- Send RC announcement email (and blog post if there is one)
Final release preparation for OTB 5.0 (planned for 29/05/2015)
J-2
- Find a release code name
- Ideas:
- Mission: Impossible
- Giant steps
- Supermode
- Ideas:
-
Prepare annoucement email -
Prepare annoucement on the blog -> draft available for review - <strike>Update documentation about installation (version number, packages name, list of supported platform) if necessary
J-1
-
No last minutes fix allowed - Test the nightly generated binary packages : don't forget the windows packages cross-compiled with MinGW (MinGW latest build available in latest dir or orfeo-toolbox.org)
- Generate mantis report
- Select all projects in the combobox : Orfeo Toolbox (OTB)
- Use Advanced Filters
- 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 date in RELEASE_NOTES.txt
-
Before nightly deadline, tag for finale release- tag OTB
- tag ice
- tag Monteverdi
- tag Monteverdi2
- tag OTB-Data
- tag OTB-Documents
- tag OTB-DevUtils
- Ensure you named the zipped files with the same convention as the previous release
- Upload the source packages (OTB, Monteverdi, Monteverdi2)
- Upload Software pdf and html.tar.gz Guide on orfeo-toolbox
- Upload Cookbook pdf and html.tar.gz on orfeo-toolbox
- Upload FAQ pdf and html.tar.gz on orfeo-toolbox
- Notes :
- tsocks ssh -t yoursourceforgeuser,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 (OTB, Monteverdi, Monteverdi2)
- Upload Software pdf and html.tar.gz Guide on sourceforge
- Upload Cookbook pdf and html.tar.gz on sourceforge
- Upload FAQ pdf and html.tar.gz on sourceforge
- Clean up sourceforge project dir
J
-
Test the generated binary packages in http://www.orfeo-toolbox.org/packages/nightly - Upload binary packages to OTB server (move from packages/nightly/latest to packages)
- OTB (MinGW)?
-
Monteverdi-windows-32bit -
Monteverdi-windows-64bit -
Monteverdi-MacOS - Monteverdi2-windows-32bit (pc-christophe &
raoul) - Monteverdi2-windows-64bit (pc-christophe &
raoul) -
Monteverdi2-MacOS (from leod)
- Upload binary packages to sourceforge
- OTB (MinGW)?
-
Monteverdi-windows-32bit - Monteverdi-windows-64bit
- Monteverdi-MacOS
- Monteverdi2-windows-32bit (from OTB server)
- Monteverdi2-windows-64bit (from OTB server)
- Monteverdi2-MacOS
-
Update platform-specific links in sourceforge Files page -
Update doxygen on orfeo-toolbox
export DOCVERSION=5.0 cd /var/www/doc cp -r /home/otbbot/doxygen/OTB-Documents/Doxygen/doxygen-current doxygen-$DOCVERSION cd /var/www/wordpress-4.0 ln -nsf ../doc/doxygen-$DOCVERSION doxygen-$DOCVERSION ln -nsf doxygen-$DOCVERSION doxygen
-
Update Software Guide online on orfeo-toolbox- Copy latest Software Guide
- Parse html to modify header and footer
export DOCVERSION=5.0 cp -R /var/www/main/packages/nightly/latest/SoftwareGuide /var/www/main/SoftwareGuide-$DOCVERSION cd /var/www/main/SoftwareGuide-$DOCVERSION rm index.html FAQ.html ln -nsf SoftwareGuide.html index.html ln -nsf `grep -rl "<head><title>[0-9]* Frequently Asked Questions</title>" .` FAQ.html cd /var/www/main ln -nsf SoftwareGuide-$DOCVERSION SoftwareGuide
-
Update Cookbook online on orfeo-toolbox- Copy latest CookBook
- Parse html to modify haeder and footer
export DOCVERSION=5.0 cp -R /var/www/main/packages/nightly/latest/CookBook /var/www/main/CookBook-$DOCVERSION cd /var/www/main/CookBook-$DOCVERSION rm index.html ln -nsf CookBook.html index.html cd /var/www/main ln -nsf CookBook-$DOCVERSION CookBook
-
Update FAQ html on orfeo-toolbox : Nothing to be done, we point to SG internal version -
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 symlink - Update OTB-Data-Examples.tgz on orfeo-toolbox (packages)
-
Update banner on OTB website - Send email to mailing list to announce the release
- Release announcement on the blog
J+1
- Update OSGeo4W packages -> delayed to J+1
- Generate Ubuntu source packages and upload to launchpad (postponed to J+1)
- generate package ITK 4.7.1
- generate otb package
make_ubuntu_packages.sh -d ~/Dashboard/src/OTB -r 5.0 -o 5.0 -p 1 -c "New upstream release" -g 0x$GPGKEY
- upload to orfeotoolbox-staging-stable-ubuntugis
dput ppa-otb-staging-stable-ubuntugis /tmp/otb_5.0.0-0ppa~*.changes
- wait for otb package availability
- generate package and upload for OTB-Ice
- generate package and upload for monteverdi monteverdi2
- wait for package availability
- install them all on a test environment and check they can all be installed
- 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
- Update general template version of "How to release" with the last release version