(file) Return to release.howto CVS log (file) (dir) Up to [Development] / JSOC / CM

Diff for /JSOC/CM/release.howto between version 1.1 and 1.2

version 1.1, 2007/10/02 00:12:21 version 1.2, 2007/10/17 14:53:42
Line 2  Art's suggested release recipe:
Line 2  Art's suggested release recipe:
  
 1. Notify users (jsoc_dev@sun.stanford.edu) that a new release will be built.  Allow users time to submit changes they want in the new release. 1. Notify users (jsoc_dev@sun.stanford.edu) that a new release will be built.  Allow users time to submit changes they want in the new release.
 2. From a cluster-node (eg., n00), perform a clean sync to head as a non-Production user (cvs checkout -r HEAD jsoc).  The -r rev option is sticky, which means that if you used -r Ver_3-2 on a previous checkout, that "cvs checkout jsoc" will check out Ver_3-2.  Use "-r HEAD" to force the use of the head revision. 2. From a cluster-node (eg., n00), perform a clean sync to head as a non-Production user (cvs checkout -r HEAD jsoc).  The -r rev option is sticky, which means that if you used -r Ver_3-2 on a previous checkout, that "cvs checkout jsoc" will check out Ver_3-2.  Use "-r HEAD" to force the use of the head revision.
 3. From one machine, update $JSOCROOT/src/base/libdrms/jsoc_version.h to the latest release version and build again (make clean, make universe).  The version macros should be of the form:  3. From one machine, update $JSOCROOT/base/libdrms/jsoc_version.h to the latest release version and build again (make clean, make universe).  The version macros should be of the form:
  
 #define jsoc_version "V3R5" #define jsoc_version "V3R5"
 #define jsoc_vers_num (305) #define jsoc_vers_num (305)
  
 4. Build all binaries (ie., make universe) and ensure there are no make problems. 4. Build all binaries (ie., make universe) and ensure there are no make problems.
 5. Repeat 2 and 4 for all machine types supported. 5. Repeat 2 and 4 for all machine types supported.
 6. From the machine used in step 3, commit $JSOCROOT/src/base/libdrms/jsoc_version.h.  6. From the machine used in step 3, commit $JSOCROOT/base/libdrms/jsoc_version.h.
 7. From the machine used in step 3, create a tag for the new release.  cd to $JSOCROOT.  Run "cvs tag -c Ver_<MAJ>-<MIN> ."  Replace <MAJ> with the major version number and <MIN> with the minor version number. 7. From the machine used in step 3, create a tag for the new release.  cd to $JSOCROOT.  Run "cvs tag -c Ver_<MAJ>-<MIN> ."  Replace <MAJ> with the major version number and <MIN> with the minor version number.
 8. Update the "Ver_LATEST" tag.  This tag always points to the latest release.  "cd $JSOCROOT; cvs rtag -r Ver_<MAJ>-<MIN> Ver_LATEST jsoc", where <MAJ> and <MIN> are the current release. 8. Update the "Ver_LATEST" tag.  This tag always points to the latest release.  "cd $JSOCROOT; cvs rtag -r Ver_<MAJ>-<MIN> Ver_LATEST jsoc", where <MAJ> and <MIN> are the current release.
 9. Once again, edit $JSOCROOT/src/base/libdrms/jsoc_version.h.  The version macros should be of the form:  9. Once again, edit $JSOCROOT/base/libdrms/jsoc_version.h.  The version macros should be of the form:
  
 #define jsoc_version "V3R5X" #define jsoc_version "V3R5X"
 #define jsoc_vers_num (-305) #define jsoc_vers_num (-305)
  
 The "X" and "-" denote that binaries were created from non-release code. The "X" and "-" denote that binaries were created from non-release code.
 10. From the machine used in step 8, commit $JSOCROOT/src/base/libdrms/jsoc_version.h.  You might have to run "cvs update -A src/base/libdrms/jsoc_version.h" to clear the stick flag created when you first sync'd in step 2 (if you used the "-r" flag).  10. From the machine used in step 8, commit $JSOCROOT/base/libdrms/jsoc_version.h.  You might have to run "cvs update -A base/libdrms/jsoc_version.h" to clear the stick flag created when you first sync'd in step 2 (if you used the "-r" flag).
 11. Ensure that the tag was successfully created and create actual release binaries (not just the binaries in your sandbox).  Login as the production user, checkout the tagged files (cvs checkout -r Ver_<MAJ>-<MIN> jsoc) and build on all machines supported. 11. Ensure that the tag was successfully created and create actual release binaries (not just the binaries in your sandbox).  Login as the production user, checkout the tagged files (cvs checkout -r Ver_<MAJ>-<MIN> jsoc) and build on all machines supported.
 12. Update the "working release".  The source for these binaries lives in /home/jsoc/cvs/jsoc.  cd to /home/jsoc/cvs, and do "cvs checkout -r Ver_<MAJ>-<MIN> jsoc" and build on all machines supported. 12. Update the "working release".  The source for these binaries lives in /home/jsoc/cvs/jsoc.  cd to /home/jsoc/cvs, and do "cvs checkout -r Ver_<MAJ>-<MIN> jsoc" and build on all machines supported.
 13. Send instructions for using the new release to users. 13. Send instructions for using the new release to users.
Line 112  Also on our jsoc web page:
Line 112  Also on our jsoc web page:
 http://jsoc.stanford.edu/cvs/jsoc/ http://jsoc.stanford.edu/cvs/jsoc/
  
 Use the Apache cvs gui to see the diffs. For example, go to Use the Apache cvs gui to see the diffs. For example, go to
 http://jsoc.stanford.edu/cvs/jsoc/src/base/libdrms/  http://jsoc.stanford.edu/cvs/JSOC/base/drms/
 and click on the name in the File column and then click on and click on the name in the File column and then click on
 "diffs to previous #" to see the diffs. "diffs to previous #" to see the diffs.
  
Line 126  End Example New Release Instructions
Line 126  End Example New Release Instructions
  
                                         /home/jim/cvs/jsoc/CM/release.howto                                         /home/jim/cvs/jsoc/CM/release.howto
  
 Make sure the cvs/jsoc/src/base/libdrms/jsoc_version.h is updated.  Make sure the cvs/JSOC/base/jsoc_version.h is updated.
  
 A release is done from a sandbox. Get the production user sandbox to work: A release is done from a sandbox. Get the production user sandbox to work:
  
Line 195  Get the all the makes to work:
Line 195  Get the all the makes to work:
 !!!!!!!!!!!!!!!!!Check that libsum, sumsapi, and sum dirs use gcc !!!!!!!!!!! !!!!!!!!!!!!!!!!!Check that libsum, sumsapi, and sum dirs use gcc !!!!!!!!!!!
 !!!!!!!!!!! Don't have to do this if gcc is already in the Makefile !!!!!!!!! !!!!!!!!!!! Don't have to do this if gcc is already in the Makefile !!!!!!!!!
 Now go to the dirs that need to have the gcc compile and edit Makefile: Now go to the dirs that need to have the gcc compile and edit Makefile:
 cd /home2/production/cvs/jsoc/src/base/  cd /home2/production/cvs/JSOC/base/
 cd libsum  cd sums/libs/pg
 vi Makefile vi Makefile
 ***ADD after the line: ***ADD after the line:
 include ../../make.mk include ../../make.mk


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

Karen Tian
Powered by
ViewCVS 0.9.4