This is intended as guidance, your mileage may vary, use your discretion.
It assumes CVSROOT is set appropriately, alternatively you can also use
the -d global option on cvs commands.


0) Get CVS in shape for release
   (update to check for modifications, ...)


1) Choose a version number
   (or skip to 6 if the release is already marked in CVS).
   By default increase the last number in the triple.
   I think we shouldn't use alpha or beta any more.
   People tend to think versions of leJOS marked alpha
   are much buggier than they really are.
   

2) Mark version in RELEASENOTES


3) Put version in VERSION as x_y_z


4) Commit these changes

   % cvs -z3 commit -m "Release x.y.z" RELEASENOTES VERSION


5) Mark version as RELEASE_x_y_z in CVS:

   % cvs rtag RELEASE_x_y_z lejos

   (You can use -F to overwrite an existing tag after correcting bugs.
    Don't change a tag after the release is out in the open
    on sourceforge, in that case use a new version number.)


6) Change into some other directory and export the release from CVS:

   % cvs -z3 export -r RELEASE_x_y_z lejos


7) Change into lejos, copy your Makefile.config here.


8) Run

   % make release

   or

   % make release_win

   This will cause a recompilation of the firmware,
   so you need to have things set up for compilation.
   The archives are created in /usr/tmp or wherever else
   the make variable TEMP points to.


9) Test:

   - unpack in a new directory

   - run regression tests

   - I also tend to run the examples View and PerformanceTest on the RCX
     and note whether free memory or speed have degraded w.r.t.
     the previous version.

   If you find bugs, correct them in CVS and start over.


10) Upload to sourceforge.

    Good luck.


11) Download from sourceforge and run diff to see if it is in good shape.


12) You might want to send mail to lejos-discussion that there is
    a new release.


13) Relax.
