How to release the COOL software

COOL_2_5_0 (2008/06/10)

  1. Commit all changes to the code and configuration files. .


  2. Check-out the full CVS repository

  3. Check that the correct software and schema version numbers are found in the code: The above should return: Remember to update also RelationalDatabase.cpp, RelationalFolder.h, RelationalFolderSet.h, test_RalDatabase.cpp and PyCoolReferenceDb/__init__.py, as well as testAll.csh and pythonTests.py in PerformanceTests/TestSuite.


  4. Check that the correct CVS tags are found in the configuration files: The above should return, respectively (not mentioning lines commented out): Modify the files and commit them again if needed.


  5. Assign global CVS tags (no local tags) to the HEAD:
  6. Also assign global CVS tags (no local tags) to the HEAD of some useful contrib packages:
  7. Check (on a selection of files) that the CVS tags have been applied: The above should return, respectively (ignoring any pre-release tags): Modify the files and commit them again if needed.


  8. Check that there is no residual difference with the HEAD:

  9. Ask the SPI team to:

  10. As a quick test, run the UseCases example from the same shell (you may need to use the coolDropDB tool to drop COOL databases created using previous releases of the software). It is enough to do this on a couple of platforms. [As of the next release, remember also to create the reference output on slc4_amd64_gcc34 and tag it!]
  11. slc4_amd64_gcc34_dbg (CMT)
    osx105_ia32_gcc401_dbg (CMT)
    win32_vc71_dbg (CMT)
    Open a CMD window on your favourite correctly configured PC. In this example, the authentication file is on avalassi's AFS directory. WARNING: if you cut and paste from this Web page, the example may fail if a trailing white space is included at the end of CORAL_AUTH_PATH.
  12. Using qmtest, run the C++, PyCool and PyCoolUtilities unit tests and produce the new reference test results in the LCG AA release area for the four supported Linux platforms.
  13. Check if the test processes are still running or completed. When there are no more jobs running, have a look at the test logs for errors.
  14. Using qmtest, run the C++, PyCool and PyCoolUtilities unit tests on a native Windows PC and produce the new reference test results in the LCG AA release area.

  15. Using qmtest, run the C++, PyCool and PyCoolUtilities unit tests on MacOSX/Intel (debug) and produce the new reference test results in the LCG AA release area.

  16. Using qmtest, run the C++, PyCool and PyCoolUtilities unit tests on MacOSX/Intel (non-debug) and produce the new reference test results in the LCG AA release area.

  17. Analyse the results of the qmtest tests and make sure they are successful. Copy the new reference test results to a directory where you have CVS commit privileges, commit them to CVS and retag them as COOL_2_5_0.

  18. Produce the performance reports for the three backends (this may be done in parallel on three different nodes). First, make sure the script uses COOL_2_5_0.
  19. If the two last commands above do not return COOL_2_5_0 and 2.5.0 respectively, modify the scripts and commit it to CVS. Commit the three log files to CVS and tag the changes.
  20. On SLC, update the files on the release area and check that everything has been committed correctly.

  21. Remove the CMT bin directories from the release area once you are sure that nothing else needs to be rebuilt (this triggers a broadcast of 'cmt make binclean'). For Linux:
  22. For Windows: For MacOSX:
  23. Check that the setup files have been built correctly. They should point to cern.ch (not .cern.ch) and use CMT v1r20p20070208 (do not build them on MacOSX!). For Linux:
  24. For Windows:
  25. Check that the headers have been correctly installed.

  26. Commit all changes to the documentation for COOL_2_5_0. In particular, make sure you update the following files under cool/doc/WebSite:
  27. Tag all changes to the documentation for COOL_2_5_0:
  28. Check that the documentation has been installed by the SPI team.

  29. Link the documentation for COOL_2_5_0 to the project Web page:

  30. Copy the latest performance report for COOL_2_5_0 to the documentation area.

  31. Remove the CVS directories from the release area (for both sources and documentation) once you are sure that nothing else needs to be modified.

  32. Protect the AFS installation against accidental deletion:

  33. Validate the COOL_2_5_0 documentation on the Web: browse http://lcgapp.cern.ch/project/CondDB/COOL_2_5_0


  34. Ask the SPI team to:
  35. Alternatively, you may try to do it yourself using the SPI Web interface.

  36. Prepare the WWW 'snapshot' documentation (CVS HEAD)

  37. Validate the COOL snapshot documentation on the Web: browse http://lcgapp.cern.ch/project/CondDB/index_new.html
  38. The COOL snapshot documentation is now up-to-date: browse http://lcgapp.cern.ch/project/CondDB/

  39. Announce the release!


  40. If you ever need to make any modifications to the installed release (in /afs/.cern.ch), do not forget to re-sync the AFS readonly volume using the SPI Web interface.


For any questions please contact Andrea Valassi