# $Id: RELEASE_INSTRUCTIONS 10986 2006-01-08 14:15:28Z leo $

To prepare a release:

    0.  Announce to perl6-internals and #parrot at least a
        couple days in advance, asking if there are any
        showstopping bugs.

    1.  svn update

    2.  Update files with version-specific information:

        a.  Increment the version number in:
	    - VERSION
            - parrot.spec, 
	    - compilers/imcc/main.c
            - MANIFEST.generated

        b.  Change the information in DEVELOPING to reflect
            this release's version number and date.

        c.  Update README.

        d.  Update ChangeLog, NEWS, docs/ROADMAP, and docs/BROKEN.

        e.  Make sure nothing in TODO has been done.

        f.  Make sure RESPONSIBLE_PARTIES is still
            accurate.

	g.  Update PBC_COMPAT

	h.  run perl tools/dev/pbc_header.pl --upd t/native_pbc/*.pbc
	    to update version and fingerprint in native tests

	i.  make realclean
	    perl Configure.pl ...
	    make -s all world fulltest

    3.  svn commit.

    4.  make release VERSION=<version>

    5.  untar parrot-<version>.tar.gz into another area

    6.  Make sure everything works--Configure, make and
        make fulltest.  Check the Tinderbox and make sure that
        everything's green (or that any yellows and reds are
        due to problems with the particular box, like a
        botched compiler upgrade).

    7.  tag the release as: RELEASE_a_b_c
           where a.b.c is the version number

  	$ export SVNPARROT=https://svn.perl.org/parrot
  	$ svn copy -m"tagged release a.b.c \
            "$SVNPARROT/trunk $SVNPARROT/tags/RELEASE_a_b_c

        See also below [1]

    8.  upload to CPAN.

    9.  Compose and send out the announcements--perl6-internals,
        -language, -announce, perl5-porters, use Perl, PerlMonks,
        comp.lang.perl.misc, etc.

    9a. Submit the use Perl announcement story to Slashdot, Newsforge, etc.

	Don't forget to set a Reply-To: or Followup-To: header.

    10. You're done!  Help yourself to a beer, cola or other
        celebratory drink.

ABOUT THIS DOCUMENT:

This document was written after a couple of subtly incorrectly
assembled releases--usually when someone forgot to delete
DEVELOPING, but at least once where the MANIFEST check failed.
The intent of this file is to document what must be done to
release so that such mistakes don't happen again.

--------------

Appendix [1] parrot repository layout as of end of Apr 2005:

$ svn ls $SVNPARROT
branches/
tags/
trunk/

$ svn ls $SVNPARROT/tags
PRE_REL_0_0_8/
RELEASE_0_0_10/
RELEASE_0_0_11/
RELEASE_0_0_13/
RELEASE_0_0_6/
RELEASE_0_0_8/
RELEASE_0_0_9/
RELEASE_0_1_0/
RELEASE_0_1_1/
RELEASE_0_1_2/
REL_0_0_5/
V1/
file_move_031023/
help/
ponie-PRE-P5_592/
