== !ReleaseTool.cmd == This is a menu-driven REXX program, found in the base directory of the repository, which... * provides guidance through this process * facilitates many of the following tasks, including (but not limited to): * the changes to version numbers * the changes to copyright dates and strings To avoid omissions and/or errors in some of the following tasks, the use of this program is recommended. == Ensure work in progress is committed and new files added: == Post a message to the Netlabs FM/2 developer's mailing list, FM2_Dev, asking if all developers have committed their changes for the release build. Allow at least 24 hours for responses. == Process completed tickets == Verify all completed tickets marked closed. Any residual open tickets must be moved to a future version milestone before or when the version milestone is marked complete. See [wiki:RBuild#Markmilestonecomplete" marking milestones complete]. == Select version # == Version numbers are of the form x.yy.zz, where x is the major version, yy is the minor version and zz is the CSD level. The CSD level is typically 00 and is not displayed unless it has some other value. The separator for user visible version numbers is a period. The period may be transformed to an underscore or dash when the version number is used to derive a directory name. The current version is 3.17.00. WarpIN drops leading zeros, but we supply them to get alpha sorts in directory and file listings. == Final check source code and update markings == Check build level and copyright dates in av2.def[[br]] databar.def[[br]] dirsize.def[[br]] dll\fm3dll.def[[br]] dll\fm3res.def[[br]] eas.def[[br]] fm3.def[[br]] fm4.def[[br]] global.def[[br]] ini.def[[br]] killproc.def[[br]] sysinfo.def[[br]] undel.def[[br]] vcollect.def[[br]] vdir.def[[br]] viewinfs.def[[br]] vtree.def[[br]] The bldlevel and copyright strings are of the form @#SLAInc:3.14#@##1## 07/21/2008 03:14:00 GKYBuild::EN:US:0:U:@@FM/2 Runtime DLL Copyright (c) 1993, 1998 M. Kimes Copyright (c) 2001, 2008 Steven Levine and Associates, Inc. Check warpin\fm2.wis post build (use wmake -a to assure it updates). '''PACKAGEID =''' Check file_id.diz '''version #''' Check HISTORY '''version #''' Check dll\version.h '''version #'''=[[br]] VERSION_MAJOR[[br]] VERSION_MINOR[[br]] VERREALMINOR[[br]] Include the date for all releases. Include the time on BETA releases Check README '''version #''' (major releases only) == Commit modified files and verify == Commit with {{{ svn commit }}} Verify everything checked in with {{{ svn status -v |& less }}} Look for unexpected ?s in column 1. These can indicate new files that must be added to the repository. To prevent spurious ?s, edit global-ignores in %HOME%\.subversion\config to suppress the marking for known build products. Rebuild with {{{ wmake -a. }}} Verify no regressions. == Apply tag == Tags are of the form '''FM2-3_xx-yy''', where xx is the minor version and yy is the CSD level. The CSD will typically be 00. Create the tag with a command similar to {{{ svn copy -m"Tag release FM2-3_17_00" http://svn.netlabs.org/repos/fm2/trunk http://svn.netlabs.org/repos/fm2/tags/FM2-3_17_00 }}} == Build for release == If fm2_workspace\trunk is the root directory of your FM/2 source workspace, build with {{{ cd fm2_workspace\trunk set HIMEM= set DEBUG= set WARNALL= set FORTIFY= wmake -a }}} == Test release build == Test the binaries. At a minimum you should run all the exes and do some basic file manipulation with each. You should, where possible, also verify that any bugs that were fixed for the release are working as expected. == Lxlite binaries == Run {{{ wmake lxlite }}} to compress exes and dlls. == Retest final build == Verify that all exes continue to load and run after being compressed. Lxlite has no known defects, but it's better to be safe. == Build distro == Run {{{ wmake dist }}} to build distribution .wpi. See [wiki:WPIBuild Building FM/2 WarpIN installation files] for more information. Zip the distribution FM2*.wpi and add the FM2utilities wpi package if desired. We do not routinely build source distributions since the source is available from Netlabs. == Test wpi == Do both an install over an existing install and a clean install. Do it with just the FM/2 package and with the FM/2utils package. == Distribute distro == Prepare fm2-x.xx.txt for Hobbes. Upload the distro to /pub/incoming on Hobbes and to /incoming/fm2 Netlabs. Post a request to community@netlabs.org to move the distro from /incoming/fm2 to /pub/fm2. If Netlabs /pub/fm2 is looking cluttered, request that the older version be moved to /pub/fm2/archives. If Netlabs /incoming/fm2 has obsolete test files, request that they be deleted. == Mark milestone complete == Create a TRAC version for the next version, if needed. Mark the current version as the default version for new tickets. Create a TRAC milestone for the next version release, if needed. Mark the new milestone as the default milestone. Mark the completed milestone as complete and move any residual tickets to a future milestone. TRAC can move the tickets in bulk when you mark the version milestone complete. == Known tags == See source:tags for the full list. Some recent tags are {{{ FM2-3_24_0 FM2-3_23_0 FM2-3_22_0 FM2-3_21_0 FM2-3_20_0 FM2-3_19_1 FM2-3_19_00 FM2-3.18-00 FM2-3.17-00 FM2-3.16-00 FM2-3.15-00 FM2-3.14-00 FM2-3.13-00 FM2-3.12-00 FM2-3.11-00 FM2-3.10-00 FM2-3.09-00 FM2-3.08 FM2-3.07 FM2-3.07.BETA-01 FM2-3.06.00 First OpenWatcom Build FM2-3.05.09 }}}