wiki:RBuild

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 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
databar.def
dirsize.def
dll\fm3dll.def
dll\fm3res.def
eas.def
fm3.def
fm4.def
global.def
ini.def
killproc.def
sysinfo.def
undel.def
vcollect.def
vdir.def
viewinfs.def
vtree.def

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 #=
VERSION_MAJOR
VERSION_MINOR
VERREALMINOR

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 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@… 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
Last modified 18 months ago Last modified on Oct 12, 2015, 10:36:22 PM