X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Porting%2Frelease_managers_guide.pod;h=daa4fccb842ccade36bfc900f6b6918c9936d613;hb=d152a4c4e9147bb67eee2f34c9e64eeb8fdbd1b8;hp=86e8fe1804a057dcafc25b251c73e233a92ce71a;hpb=300b5357026d6cd1a136a68711c759d55c8d99b4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod index 86e8fe1..daa4fcc 100644 --- a/Porting/release_managers_guide.pod +++ b/Porting/release_managers_guide.pod @@ -14,7 +14,9 @@ manual - to produce a perl release of some description, be that a snaphot, release candidate, or final, numbered release of maint or blead. The release process has traditionally been executed by the current -pumpking. +pumpking. Blead releases from 5.11.0 forward are made each month on the +20th by a non-pumpking release engineer. The release engineer roster +and schedule can be found in Porting/release_schedule.pod. This document both helps as a check-list for the release engineer and is a base for ideas on how the various tasks could be automated @@ -577,6 +579,21 @@ Push all your recent commits: $ git push origin .... + +=item * + +I + +Tag the release: + + $ git tag v5.11.0 -m'First release of the v5.11 series!' + +It is VERY important that from this point forward, you not push +your git changes to the Perl master repository. If anything goes +wrong before you publish your newly-created tag, you can delete +and recreate it. Once you push your tag, we're stuck with it +and you'll need to use a new version number for your release. + =item * Create a tarball. Use the C<-s> option to specify a suitable suffix for @@ -596,6 +613,7 @@ the MANIFEST files into it, sets the correct permissions on them, adds DOS line endings to some, then tars it up as F<../perl-x.y.z-RC1.tar.gz>. With C<-b>, it also creates a C file. + XXX if we go for extra tags and branches stuff, then add the extra details here @@ -701,7 +719,9 @@ Install an XS module, for example: =item * -I +I + +=item * Check that the C utility works. Try the following: @@ -725,8 +745,6 @@ report. Check that it shows up, then remember to close it! =item * -I - Wait for the smoke tests to catch up with the commit which this release is based on (or at least the last commit of any consequence). @@ -736,8 +754,6 @@ back and fix things. =item * -I - Once smoking is okay, upload it to PAUSE. This is the point of no return. If anything goes wrong after this point, you will need to re-prepare a new release with a new minor version or RC number. @@ -750,20 +766,13 @@ Upload both the .gz and .bz2 versions of the tarball. =item * -I - -Create a tag for the exact git revision you built the release from. -C below is the commit corresponding to the tarball. It can be -omitted if there have been no further commits since the tarball was -created, for example: +Now that you've shipped the new perl release to PAUSE, it's +time to publish the tag you created earlier to the public git repo: - $ git tag perl-5.10.1-RC1 -m'Release Candidate 1 of Perl 5.10.1' - $ git push origin tag perl-5.10.1-RC1 + $ git push origin tag v5.11.0 =item * -I - Disarm the F change; for example, static const char * const local_patches[] = { @@ -783,21 +792,17 @@ Mail p5p to announce your new release, with a quote you prepared earlier. =item * -I - Wait 24 hours or so, then post the announcement to use.perl.org. (if you don't have access rights to post news, ask someone like Rafael to do it for you.) =item * -I - Ask Jarkko to add the tarball to http://www.cpan.org/src/ =item * -I +I Ask Jarkko to update the descriptions of which tarballs are current in http://www.cpan.org/src/README.html, and Rafael to update @@ -805,14 +810,14 @@ http://dev.perl.org/perl5/ =item * -I +I Remind the current maintainer of C to push a new release to CPAN. =item * -I +I Bump the perlXYZ version number. @@ -874,14 +879,14 @@ previous version bump. =item * -I +I If this was a maint release, then edit F to change all the C (deferred) flags to C<.> (needs review). =item * -I +I If this was a major release (5.x.0), then create a new maint branch based on the commit tagged as the current release and bump the version @@ -894,7 +899,7 @@ XXX need a git recipe =item * -I +I Copy the perlNNNdelta.pod for this release into the other branches; for example: @@ -905,7 +910,7 @@ example: Edit F to add an entry for the file, e.g.: perl5101delta Perl changes in version 5.10.1 - + Then rebuild various files: $ perl pod/buildtoc --build-all @@ -916,8 +921,6 @@ Finally, commit: =item * -I - Make sure any recent F entries are copied to F on other branches; typically the RC* and final entries, e.g. @@ -928,8 +931,8 @@ e.g. =item * -I. +I. Thanks for releasing perl!