Skip to content

Latest commit

 

History

History
96 lines (65 loc) · 2.96 KB

release_guide.pod

File metadata and controls

96 lines (65 loc) · 2.96 KB

release_guide.pod - guide to NQP releases

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.

Steps to create an NQP release

  1. 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 in RELEASE_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.

    MoarVM tries to have a synchronised release schedule with NQP and rakudo, so there's most probably a release tag for MoarVM that you can bump tools/build/MOAR_REVISION to. Release tags for MoarVM have the format 2014.02. Find all of the tags with git tag in an up-to-date MoarVM checkout.

  2. Change the VERSION file in nqp:

    $ echo '2012.12' > VERSION
    $ git commit -m 'bump VERSION to 2012.12' VERSION
    $ git push
  3. Make sure everything compiles and runs from a known clean state. This step is especially important if PARROT_REVISION and/or MOAR_REVISION were changed in step 1 above. Don't forget to build the JVM backend, as well.

    $ make realclean
    $ perl Configure.pl --gen-parrot --gen-moar --backend=parrot,moar,jvm
    $ make
    $ make test

    Resolve any problems that may still exist.

  4. 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 named nqp-YYYY.MM.tar.gz.

  5. 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.

  6. 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
  7. 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.

  8. If creating the NQP release as part of a Rakudo release, continue with the Rakudo release process.