Release process notes

From Erights

Revision as of 22:12, 12 May 2009 by Markm (Talk | contribs)
Jump to: navigation, search

I am seeding this page by jotting down notes on the process of performing the [ReleaseNotes092 E 0.9.2 release], as a guide to others who may do future releases or more fully automate the process (please!). This information is descriptive; not prescriptive.

At Kevin's suggestion, I did a

 $ svn log -r321:HEAD svn://

to gather all the log entries since the last release. I then summarize them in the Highlights, Features, Bug Fixes, and Other Changes below.

Kevin enumerated the release blockers for the this release:

  • Since r468, help(<int>) shows no methods.
  • Since ???, epatt__quasiParser always throws a parse error.

Fixed them as of r635.

Building the Release

Once all other changes are checked in and ready to go, on a Windows Cygwin shell (with gcc and a sun jdk installed), bring all sources up to date. (svn update, etc).

In e/src/Makefile, change

 DOTVER=0.9.1c to DOTVER=0.9.2a
 TAGVER=0_9_1c to TAGVER=0_9_2a

The DOTVER is used to generate the names of the tarballs and the value of the e.version property. TAGVER is no longer used, but was used for cvs tagging.

In the "e" directory, i.e., the parent of the "e/src" directory, do

 $ chmod -R a+rX .
 $ chmod -R u+w .
 $ rm -rf classes/ dist/ export/ tarballs/
 $ ls -la # verify the directories are actually gone.

None of the above should be necessary, but helps to work around various weirdnesses that seem to crop up on Windows, such as directories that can't be deleted. However, the permissions fixes may only be needed on systems in which Polaris is installed.

 $ cd src
 $ MAKE_PARSERS=true make draft tarballs
 $ ls -la ../tarballs

For reference, this time the output looked like

$ ls -la ../tarballs
total 23888
drwxr-xr-x+ 2 Terry None        0 May 10 20:21 .
drwxr-xr-x+ 9 Terry None        0 May 10 20:17 ..
-rw-r--r--  1 Terry None  3143728 May 10 20:21 E-purej-0.9.2a.tar.gz
-rw-r--r--  1 Terry None 15954776 May 10 20:20 E-src-0.9.2a.tar.gz
-rw-r--r--  1 Terry None  5353732 May 10 20:21

Note that the make can take vastly longer on Windows than it does on Unix. Or maybe it's just our old PC. Or maybe it's a bad interaction with Polaris. We don't know.

For normal development, you normally don't need MAKE_PARSERS. However, this should be on when building a release and prior to the final checkin. If the make succeeds and everything looks good, then try installing the by unpacking it into a fresh directory, where you'd like E installed, such as c:/Program Files/ Make the directory if necessary. Double click on e.jar. If E installs successfully, your should see a monologue box pop up saying "Welcome to E 0.9.2a".

Run whatever other tests you need to feel comfortable that E still works after the changes since the last release. (Ideally, this would be an automated set of tests that are normally all green. We are not yet ready for that.)

If it all checks out, then do an SVN commit.

 $ svn ci

or interactively using Tortoise SVN (recommended). The commit message should state that this corresponds to this release.

Updating the web site

Check out and/or SVN update the website. The following assumes that the "doc" directory is placed under "e" as a sibling to "src".

$ cd ../doc/dowload
$ ls -la

We see an "0-9-1" directory but no "0-9-2" directory. We copy 0-9-1 to make an initial draft 0-9-2, remove all 0-9-2 ".svn" subdirectories, and modify 0-9-2 to reflect the new release.

$ cp -r 0-9-1 0-9-2
$ cd 0-9-2
$ rm -rf `find . -name '.svn'`

Note that this directory copy-and-revise is not a good practice. We should switch towards documenting the current release on, and maintain a single canonical set of install documentation, rather than a per-release copy.

Within the 0-9-2 directory,

  • Replace all occurrences of "0.9.1b" with "0.9.2a".
  • Replace all "0-9-1" with "0-9-2". This will inappropriately change some of the navigation button links at the top and bottom of the page, but we will repair those below.
  • Because I have stupidly temporarily lost access to my account on, I am replacing all "" with nothing, turning the rest of these links into links into the local directory.

(The tool I happen to use for search-and-replace is also my favorite almost-wysiwyg html editor, Dreamweaver.)

Then, back up in the doc directory (the root of the website)

$ cd ../..

I edit toc.txt to include the new 0-9-2 copy of the files. Save. Then rebuild the page navigation buttons

$ make buttons

Next, I revise the text on the pages in this directory to more accurately describe the 0.9.2a release. Kevin reminds me that these pages have carried forward many old issues, like daffE, which are no longer relevant.

More soon...

$ cp ../../../tarballs/*.zip *.gz .
$ scp *.zip *.gz
Personal tools
more tools