Changes between Initial Version and Version 1 of ReleasePractices/ManagerCheckList


Ignore:
Timestamp:
Dec 2, 2007, 3:56:51 AM (15 years ago)
Author:
René Rivera
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleasePractices/ManagerCheckList

    v1 v1  
     1[[PageOutline]]
     2
     3= Release Manager's Checklist =
     4
     5** This is a placeholder page in that the content needs to be rewritten to account for the new process. When that happens the page can move to the new web site. **
     6
     7== Introduction ==
     8
     9Historically, items on this checklist were accomplished by scripts written in Perl, Python, Bash, C++, and as Windows command files, or by point-and-click on a FrontPage or other GUI based program. Long term the plan is to move as much as possible of these to C++, as the one language all Boost developers are comfortable with.
     10
     11== Pre-release activities ==
     12
     13    * After discussion on the main list, post the release schedule.
     14       
     15    * Verify the root/index.htm, root/boost/version.hpp, root/Jamfile.v2 and root/Jamrules release numbers are correct and agree.
     16       
     17    * Verify via jamboost@yahoogroups.com that bjam pre-built executables up-to-date.
     18       
     19    * Remove the oldest "Latest News" from root/index.htm.
     20       
     21    * For each new library added this release:
     22
     23        * Verify root/index.htm Latest News entry has been made and reads well.
     24           
     25        * Verify root/libs/libraries.htm entry has been made, both in the alphabetic list and in the category lists.
     26           
     27        * Verify the root/libs/xxx directory contains an index.htm or index.html file; either the main docs or a redirection to the main docs. To do: automate this.
     28           
     29        * Skim read the primary docs pages to make sure they meet Boost requirements and guidelines. Don't leave this until too late; it has turned up lots of issues in the past.
     30           
     31        * Generate the header dependency table and update the CVS. To do: coordinate with John Maddock's new dependency tools.
     32
     33    * Monitor http://boost.sourceforge.net/regression-logs/inspection_report.html to verify problems are actively being reduced. Make sure none of the problems are in files the release manager is responsible for.
     34       
     35    * Monitor regression tests (http://boost.sourceforge.net/regression-logs) to verify that errors are actively being reduced or accounted for on key platforms and compilers.
     36       
     37          * Boost errors are being actively worked on by library maintainers.
     38          * Compiler or standard library errors are at least identified, and preferably reported to the supplier.
     39          * No errors remain uninvestigated or unclassified.
     40             
     41    * Monitor the developer and user mailing lists to verify that all posted patches are being applied, rejected, or otherwise dealt with.
     42       
     43    * Monitor the developer and user mailing lists, and the SourceForge bug tracker, to verify that all posted bug reports are being investigated, fixed, rejected, or otherwise dealt with.
     44       
     45    * Monitor CVS commits to verify that all the expected and/or promised content actually gets committed. Try to get developers to avoid last minute commits of major changes.
     46
     47== CVS Branch for release ==
     48
     49    * Pre-release activities complete enough to justify branch-for-release?
     50       
     51    * Everybody happy?
     52       
     53    * Branch for release:
     54          * Tag the main trunk  merged_to_RC_n_n_n.
     55          * Branch the main trunk with the tag RC_n_n_n.
     56             
     57    * Post notice on main list. Remind developers that fixes which apply to both Main Trunk and Branch have to be committed separately to both.
     58
     59== CVS Release ==
     60
     61    * Pre-release activities all complete?
     62       
     63    * Post notice to make sure all developers ready.
     64       
     65    * Tag: WinCVS: Select site, then tag (Modify|Create tag..., toolbar T on doc). New tag name: Version_1_21_2 (or whatever). If prior release failed, select "overwrite existing tags with the same name".
     66
     67== Distribution ==
     68
     69These procedures are given for a particular release manager's machine. The plan is to replace them with more generic procedures over time.
     70
     71    * Create folders for export:
     72
     73          c:\boost\boost_1_28_0
     74          c:\boost\temp\boost_1_28_0
     75
     76      Note that several batch files assume these locations and naming schemes.
     77       
     78    * Export Win32 distribution: WinCVS | Remote | Checkout Module
     79
     80      Checkout settings: module name and path on the server: boost, local folder to checkout to: c:\boost\boost_1_28_0
     81      [for 1.29.0 export, put everything in a boost_1_29_0/boost subdirectory.  Experiments with 1.30.0 tried boost/boost as the path on server, but that just resulted in getting the boost header subdirectory only.]
     82
     83      Checkout options: (check) By revision/tab/branch: Version_1_28_0, (check) Do not create CVS directories (export)
     84
     85      This results in the follow command: cvs -z9 export -r Version_1_28_0 boost (in directory C:\boost\boost_1_28_0)
     86
     87      (takes about ten minutes)
     88
     89      (rename boost-root if needed !!!!!!!!!!!!!!!!!!!)
     90       
     91    * Export Unix distribution: similar to above, except target is c:\boost\temp\boost_1_28_0 and set global for UNIX nl.
     92       
     93    * !!!!!! VERY IMPORTANT: WinCVS | Set Preferences | Global back to non-UNIX nl. !!!!!!!!!!!!!!!
     94       
     95    * Add regression results web pages into package (new in 1.33 so this is just a shot at the process - jeff)
     96      download all the regression results from website (may need meta-comm help on this)
     97      unpack the regression results into tools/regression/latest_release
     98
     99    * General ZIP and TAR.GZ files
     100
     101      n_n_n is 1_28_0 or whatever
     102
     103      cd \boost
     104      boost_zip 1_21_2 (creates zip.log)
     105      boost_tar_gz 1_21_2
     106      bash
     107          gunzip -c boost_1_21_2.tar.gz | bzip2 > boost_1_21_2.tar.bz2
     108          exit
     109       
     110    * Upload and unpack the .zip release candidate to a SourceForge web services sub-directory. Post a message to the main list asking developers to check contents. (Daniel Frey has volunteered to help check).
     111       
     112    * Upload files for SourceForge release incoming directory using WS_FTP Pro
     113          * Start keep_isdn_awake
     114          * Connection: SourceForge Release Upload | connect
     115          * Select Local system: c:\boost
     116          * Select Remote system: /incoming
     117          * Drag-and-drop the three release files from Local system to Remote system
     118          * Disconnect
     119          * Stop keep_isdn_awake
     120             
     121    * Complete the SourceForge release procedure.
     122          * Admin | File Releases | Add Release for package name boost
     123          * New release name: 1.21.2 | create this release
     124          * Step 1: paste in release notes (in HTML). Be sure to note difference between .zip and .gz/bz2 files. Submit/Refresh
     125          * Step 2: Check appropriate files. Add Files and/or Refresh View
     126          * Step 3: For each file, select Processor and File Type, Update/Refresh
     127          * Setp 4: Email Release Notice: I'm sure. Send Notice.
     128          * Wait up to 30 minutes.
     129          * Check SourceForge release page and release notes with web browser.
     130             
     131    * Consider putting up a temporary "Update in progress" root/index.html during site update
     132       
     133    * Update the web site:
     134
     135      cd ...\boost_1_28_0
     136      tar -cf site.tar *
     137      bzip2 -k site.tar
     138
     139      dir site.tar.bz2
     140      pscp site.tar.bz2 beman_dawes@shell1.sourceforge.net:/home/groups/b/bo/boost/htdocs/
     141
     142      keep_idsn_awake in another window.
     143
     144      c:\bgd\util\putty\plink.exe beman_dawes@shell.sourceforge.net
     145      cd /home/groups/b/bo/boost/htdocs
     146      pwd
     147      ls -l site.tar.bz2
     148
     149      rm -fr boost
     150      rm -fr doc
     151      rm -fr libs
     152      rm -fr more
     153      rm -fr people
     154      rm -fr status
     155      rm -fr tools
     156      bunzip2 -kc site.tar.bz2 | tar -x
     157      ls
     158      exit
     159
     160      stop keep_isdn_awake
     161
     162    * Check actual www.boost.org site with browser. Look at a bunch of files that should have been updated to make sure the updates actually "took".
     163       
     164    * Post a message announcing the release and recapping "Latest News".  Post as separate messages to: boost, boost-announce, boost-users, comp.lang.c++.moderated, c++std-news@research.att.com
     165       
     166    * Using the SourceForge shell services (sf_shell_svc.bat), cd /home/groups/b/bo/boost/htdocs, and rename regression tests as necessary.
     167       
     168    * Burn "Key Directories" CD for off-site backup.
     169       
     170    * Make sure CVS working copy is updated to main branch!
     171       
     172    * Ready root/index.htm, root/boost/version.hpp, root/Jamfile.v2 and root/Jamrules for the next release and commit to CVS so developers have a place to add "Latest news" blurbs.
     173       
     174    * Delete obsolete files from yahoogroups files section.
     175
     176Copyright Beman Dawes 2001
     177
     178Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)