NQP's development release cycle is intimately tied to Rakudo's release cycle. There is no separate, independent release cycle for NQP.
Parrot is scheduled to release the third Tuesday of each month; Rakudo will generally issue its own development release soon after the scheduled Parrot release (usually within a few days). To accomplish this, NQP must be tagged for release immediately prior to the Rakudo release.
Note: This step has changed starting in 2012.07.
Check to see if tools/build/PARROT_REVISION needs to be bumped to a later Parrot release. If PARROT_REVISION already contains a Parrot release tag (e.g.,
RELEASE_3_9_0
) then it does not need to be changed. If PARROT_REVISION refers to an interim commit, as inRELEASE_4_6_0-27-gda9adfa
, then update PARROT_REVISION to contain the tag corresponding to Parrot's monthly release.To see a list of Parrot release tags, use
git tag
on an up-to-date Parrot repository.Once tools/build/PARROT_REVISION has been set to a Parrot release, it must not be changed (except to another Parrot release) until after the Rakudo release.
Change the
VERSION
file in nqp:$ echo '2012.12' > VERSION $ git commit -m 'bump VERSION to 2012.12' VERSION $ git push
Make sure everything compiles and runs from a known clean state. This step is especially important if PARROT_REVISION was changed in step 1 above.
$ make realclean $ perl Configure.pl --gen-parrot $ make $ make test
Resolve any problems that may still exist.
Create a release tarball (needed for the Rakudo Star release) by entering
make release VERSION=YYYY.MM
, where YYYY.MM is the month for which the release is being made. This will create a tarball file namednqp-YYYY.MM.tar.gz
.Unpack the tar file into another area, and test that it builds and runs properly using the same process in step 3 above. If there are any problems, fix them and go back to step 3.
Tag NQP by its release month ("YYYY.MM")
$ git tag -a -m"tag release YYYY.MM" YYYY.MM # e.g., 2012.12 $ git push --tags
Upload the release tarball to http://rakudo.org/downloads/rakudo:
$ scp nqp-2013.12.tar.gz rakudo@rakudo.org:public_html/downloads/nqp/
If you do not have permissions for that, ask one of (pmichaud, jnthn, masak, tadzik, moritz, PerlJam) on #perl6 to do it for you.
If creating the NQP release as part of a Rakudo release, continue with the Rakudo release process.