Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

This The release directory usually contains just three releasesThis page is to document the release procedure for Pig. Pig is a fairly young Apache project. Its release process is work in progress and is modeled from Hadoop Release Procedure.


  1. Tag the release:

    Code Block
    svn move \ -m "Pig X.Y.Z release."
  2. Checkout Pig distribution svn.

    Code Block
    svn co pig-dist
  3. Copy release files to the distribution directory add them to svn.

    Code Block
    cd pig-dist
    cp -pr ~/release/pig-X.Y.Z-candidate-0 pig-X.Y.Z
    svn add pig-X.Y.Z
  4. The release directory usually contains just three releases, the most recent from three branchesshould only contain the current releases, usually one or two (one is previous maintenance release, one is the most recent version release), with a link named 'latest' to the most recent recommended version,.

    Code Block
    svn rm pig-A.B.C
    svn rm latest
    link -s pig-X.Y.Z latest
  5. Commit .the distribution artifacts changes

    Code Block
    svn commit --message "Pig X.Y.Z Release"
  6. Check if svn changes propagates to the staging directory

    Code Block
    cd /www/

    After several minutes, you should see your distribution changes here.

  7. Push Maven release from staging to production
    1. Go to;staging~browsestorage
    2. Log in, using your Apache LDAP credentials. The sign in link is in the upper right hand corner.
    3. In the frame on the left side of the page, select "Staging Repositories", you should now see a list of artifacts in the main frame.
    4. Select the appropriate artifacts for this release and click "Close" on the bar above the list of artifacts.
    5. Select the appropriate artifacts for this release and click "Release" on the bar above the list of artifacts.
  8. Wait 24 hours for release to propagate to mirrors.
  9. Prepare to edit the website.

    Code Block
    svn co
  10. Update the front page news in author/src/documentation/content/xdocs/index.xml.
  11. Update the release news in author/src/documentation/content/xdocs/releases.xml.
  12. Update the documentation links in author/src/documentation/content/xdocs/site.xml
  13. Copy in the release specific documentation

    Code Block
        mkdir publish/docs/rX.Y.Z
        cp -pr <releasedir>/docs/* publish/docs/rX.Y.Z/
        svn add publish/docs/rX.Y.Z
  14. Regenerate the site, review it and commit in HowToDocument#UpdatingthePigSiteDocumentation.
  15. Wait until you see your changes reflected on the Apache web site. This might take a few minutes.
  16. Send announcements to the user and developer lists as well as (;;; once the site changes are visible. Note that emails sent to must be sent from your email address and you must be subscribed to each of the lists.

    Code Block
    [ANNOUNCE] Apache Pig X.Y.Z released
    The Pig team is happy to announce the Pig X.Y.Z release. 
    Apache Pig provides a high-level data-flow language and execution framework for parallel computation on Hadoop clusters.
    More details about Pig can be found at
    The highlights of this release are ... The details of the release can be found at
  17. In JIRA, mark the release as released.
    1. Goto JIRA and click on Administration tab.
    2. Select the Pig project.
    3. Select Versions.
    4. Select Release for the version you have released.
    5. If a description has not yet been added for the version you are releasing, select Add description and give a brief description of the release.
    6. If the next version does not exist (that is, if you are releasing version 0.x, if version 0.x+1 does not yet exist) create it using the Add box at the top of the page.
  18. In JIRA, mark the issues resolved in this release as closed.
    1. Goto JIRA and click on the "Search for Issues" on "Issues" menu.
    2. In the left hand Edit section, set Project to Pig.
    3. In Status select "Resolved"
    4. In Resolutions select "Fixed"
    5. Click "Search" button
    6. In the next screen, further select fix For select the version you are releasing.
    7. Click on the "Search" button
    8. Select "Tools->Bulk change all XX issues" (near the top right)
    9. Select all the issues and click on "Next"
    10. Select "Transition Issues" radio button and click on "Next"
    11. Select "Close Issue" radio button and click on "Next"
    12. Uncheck the box near the bottom at says "Send mail for this update" lest you spam every Pig developer with a message for every bug resolved in this release. Click "Next".
    13. Click "Confirm". Don't worry if it gives you a HTTP 500 error, it still does the transitions.
  19. Update jdiff for next release (step 16 to 19).

    Code Block
       svn co
  20. Open build.xml. Change this line:

    Code Block
    <property name="jdiff.stable" value="X.Y-1.Z"/>
    <property name="jdiff.stable" value="X.Y.Z"/>
  21. Copy jdiff comparison base to trunk

    Code Block
    cp {releasedir}/src/docs/jdiff/pig_X.Y.Z.xml src/docs/jdiff
  22. Code Block
    svn add src/docs/jdiff/pig_X.Y.Z.xml
    svn remove src/docs/jdiff/pig_X.Y-1.Z.xml
    svn commit -m "Jdiff change for X.Y.Z"

    TODO Need to integrate javadoc into this.