Versions Compared

Key

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

...

_This

...

page

...

is

...

prepared

...

for

...

Hive

...

committers.

...

You

...

need

...

committer

...

rights

...


to

...

create

...

a

...

new

...

Hive

...

release._

...

Preparation

  1. Bulk update Jira to unassign from this release all issues that are open non-blockers and send follow-up notification to the developer list that this was done.

    Branching

Skip this section if this is NOT the first release in a series (i.e.

...

release

...

X.Y.0).

...

  1. Notify

...

  1. developers

...

  1. on

...

  1. the

...

  1. #hive

...

  1. IRC

...

  1. channel

...

  1. that

...

  1. you

...

  1. are

...

  1. about

...

  1. to

...

  1. branch

...

  1. a

...

  1. release.

...

  1. Update CHANGES.txt

...

  1. to

...

  1. include

...

  1. the

...

  1. release

...

  1. version

...

  1. and

...

  1. date

...

  1. (use

...

  1. Unreleased

...

  1. for

...

  1. the

...

  1. date

...

  1. if

...

  1. it

...

  1. is

...

  1. unknown)

...

  1. and

...

  1. remove

...

  1. Trunk

...

  1. (unreleased

...

  1. changes)

...

  1. .
  2. Commit these changes to trunk.
    Code Block
    
    svn commit -m "Preparing for release X.Y.Z"
    

...

  1. Create a branch for the release series:
    Code Block
    
    svn copy https://svn.apache.org/repos/asf/hive/trunk \
    https://svn.apache.org/repos/asf/hive/branches/branch-X.Y -m "Branching for X.Y releases"
    

...

  1. Update CHANGES.txt

...

  1. to

...

  1. add

...

  1. back

...

  1. in

...

  1. Trunk

...

  1. (unreleased

...

  1. changes)

...

  1. .
    1. Increment the value of the version property the build.properties file on trunk. For example, if the current value is 0.7.0-SNAPSHOT

...

    1. ,

...

    1. the

...

    1. new

...

    1. value

...

    1. should

...

    1. be

...

    1. 0.8.0-SNAPSHOT

...

    1. .

...

    1. Please

...

    1. note

...

    1. that

...

    1. the

...

    1. SNAPSHOT

...

    1. suffix

...

    1. is

...

    1. required

...

    1. in

...

    1. order

...

    1. to

...

    1. indicate

...

    1. that

...

    1. this

...

    1. is

...

    1. an

...

    1. unreleased

...

    1. development

...

    1. branch.

...

  1. Commit

...

  1. these

...

  1. changes

...

  1. to

...

  1. trunk.

...

  1. Code Block

...

  1. 
    svn commit -m "Preparing for X.Y+1.0 development"
    

...

  1. Updating Release Branch

These operations take place in the release branch.

  1. Check out the release branch with:
    Code Block
    
    svn co https://svn.apache.org/repos/asf/hive/branches/branch-X.Y
    

...

  1. Update CHANGES.txt

...

  1. to

...

  1. include

...

  1. the

...

  1. release

...

  1. version

...

  1. and

...

  1. date

...

  1. (this

...

  1. change

...

  1. must

...

  1. be

...

  1. committed

...

  1. to

...

  1. trunk

...

  1. and

...

  1. any

...

  1. intermediate

...

  1. branches

...

  1. between

...

  1. trunk

...

  1. and

...

  1. the

...

  1. branch

...

  1. being

...

  1. released).

...

  1. Update

...

  1. the

...

  1. version

...

  1. property

...

  1. value

...

  1. in

...

  1. the

...

  1. build.properties

...

  1. file.

...

  1. You

...

  1. should

...

  1. remove

...

  1. the

...

  1. SNAPSHOT

...

  1. suffix

...

  1. and

...

  1. set

...

  1. version

...

  1. equal

...

  1. to

...

  1. hive-X.Y.Z

...

  1. where

...

  1. Z

...

  1. is

...

  1. the

...

  1. point

...

  1. release

...

  1. number

...

  1. in

...

  1. this

...

  1. release

...

  1. series

...

  1. (0

...

  1. for

...

  1. the

...

  1. first

...

  1. one,

...

  1. in

...

  1. which

...

  1. case

...

  1. this

...

  1. step

...

  1. is

...

  1. a

...

  1. no-op

...

  1. since

...

  1. you

...

  1. already

...

  1. did

...

  1. this

...

  1. above

...

  1. when

...

  1. creating

...

  1. the

...

  1. branch).

...

  1. Commit

...

  1. these

...

  1. changes.

...

  1. Code Block

...

  1. 
    svn commit -m "Preparing for release X.Y.Z"
    

...

  1. If not already done,

...

  1. merge

...

  1. desired

...

  1. patches

...

  1. from

...

  1. trunk

...

  1. into

...

  1. the

...

  1. branch

...

  1. and

...

  1. commit

...

  1. these

...

  1. changes.

...

  1. You

...

  1. can

...

  1. find

...

  1. the

...

  1. revision

...

  1. numbers

...

  1. using

...

  1. svn

...

  1. log

...

  1. CHANGES.txt

...

  1. in

...

  1. the

...

  1. branch

...

  1. and

...

  1. in

...

  1. trunk.

...

  1. We

...

  1. don't

...

  1. currently

...

  1. use

...

  1. svn

...

  1. merge

...

  1. for

...

  1. this,

...

  1. but

...

  1. if

...

  1. we

...

  1. did,

...

  1. the

...

  1. script

...

  1. would

...

  1. be

...

  1. Code Block

...

  1. 
    cd branch-X.Y
    svn merge -rR1:R2 ../trunk .
    svn commit -m "Merge -r R1:R2 from trunk to X.Y branch. Fixes: HIVE-A, HIVE-B."
    

...

  1. You probably also want to commit a patch (on both trunk and branch) which updates README.txt to bring it up to date (at a minimum, search+replacing references to the version number). Also check NOTICE to see if anything needs to be updated for recent library dependency changes or additions.
    1. Likewise, use JIRA's Release Notes link to generate content for the RELEASE_NOTES.txt file. Be sure to select 'Text' format. (It's OK to do this with a direct commit rather than a patch.)
  2. Tag the release candidate (R is the release candidate number, and also starts from 0):
    Code Block
    
    svn copy https://svn.apache.org/repos/asf/hive/branches/branch-X.Y \
    https://svn.apache.org/repos/asf/hive/tags/release-X.Y.Z-rcR -m "Hive X.Y.Z-rcR release."
    

...

  1. Building

  1. Build the release (binary and source versions) after running unit tests. Note that this will generate MD5 checksum files automatically.{{{

...


  1. ant

...

  1. test

...

  1. tar

...

  1. binary

...

  1. Code Block

...

  1. 
     # Verify that the MD5 checksums are valid: 

...

  1. %

...

  1. md5sum

...

  1. -c

...

  1. hive-0.6.0.tar.gz.md5

...


  1. hive-X.Y.Z.tar.gz:

...

  1. OK

...

%

...

md5sum

...

-c

...

hive-0.6.0-bin.tar.gz.md5

...


hive-X.Y.Z-bin.tar.gz:

...

OK

{
Code Block
}
 # Check that release file looks ok - e.g. install it and run examples from tutorial.
 # Sign the release (see [Step-By-Step Guide to Mirroring Releases|http://www.apache.org/dev/mirror-step-by-step.html?Step-By-Step] for more information). {code}

gpg

...

--armor

...

--output

...

hive-X.Y.Z.tar.gz.asc

...

--detach-sig

...

hive-X.Y.Z.tar.gz

...


gpg

...

--armor

...

--output

...

hive-X.Y.Z-bin.tar.gz.asc

...

--detach-sig

...

hive-X.Y.Z-bin.tar.gz

{
Code Block
}
 # Copy release files to a public place. {code}

ssh

...

people.apache.org

...

mkdir

...

public_html/hive-X.Y.Z-candidate-0

...


scp

...

-p

...

hive-X.Y.Z*.tar.gz*

...

people.apache.org:public_html/hive-X.Y.Z-candidate-0

{
Code Block
}
 # Call a release vote on dev at hive.apache.org.
h1. Publishing

Once [three PMC members have voted for a release|http://www.apache.org/foundation/voting.html#ReleaseVotes], it may be published.
 # Tag the release: {code}

svn

...

move

...

https://svn.apache.org/repos/asf/hive/tags/release-X.Y.Z-rcR

...

Image Added \

...

https://svn.apache.org/repos/asf/hive/tags/release-X.Y.Z

...

Image Added -m

...

"HiveX.Y.Z

...

release."

{
Code Block
}
 # Copy release files to the distribution directory and make them writable by the hive group. {code}

ssh

...

people.apache.org

...


cp

...

-pR

...

public_html/hive-X.Y.Z-candidate-0/

...

/www/www.apache.org/dist/hive/hive-X.Y.Z

...


cd

...

/www/www.apache.org/dist/hive

...


chgrp

...

-R

...

hive

...

hive-X.Y.Z

...


chmod

...

-R

...

g+w

...

hive-X.Y.Z

{
Code Block
}
 # The release directory usually contains just two releases, the most recent from two branches, with a link named 'stable' to the most recent recommended version. {code}

ssh

...

people.apache.org

...


cd

...

/www/www.apache.org/dist/hive

...


rm

...

-rf

...

hive-A.B.C;

...

rm

...

stable

...


ln

...

-s

...

hive-A.B.D

...

stable

{
Code Block
}
 # Wait 24 hours for release to propagate to mirrors.
 ## Prepare to edit the website. {code}

svn

...

co

...

https://svn.apache.org/repos/asf/hive/siteImage Added

{
Code Block
}
 # Update the documentation links in {{author/src/documentation/content/xdocs/site.xml}}.
 # Update the release news in {{author/src/documentation/content/xdocs/releases.xml}}.
 # Regenerate the site, review it, then commit it. {code}

ant

...

-Dforrest.home=/usr/local/forrest

...

-Djava5.home=/usr/local/jdk1.5

...


firefox

...

publish/index.html

...


svn

...

commit

...

-m

...

"Updated

...

site

...

for

...

release

...

X.Y.Z."

{
Code Block
}
 # Deploy your site changes. {code}

ssh

...

people.apache.org

...


cd

...

/www/hive.apache.org

...


svn

...

up

{
Code Block
}
 # Copy the new release docs to {{people.apache.org:/www/hive.apache.org/docs/rX.Y.Z}} and update the {{docs/current}} link, by doing the following in your home directory on people.apache.org: {code}

ssh

...

people.apache.org

...


tar

...

xvf

...

/www/www.apache.org/dist/hive/hive-X.Y.Z/hive-X.Y.Z.tar.gz

...

'*/docs'

...


chmod

...

-R

...

ug=rwX,o=rX

...

hive-X.Y.Z

...


chgrp

...

-R

...

hive

...

hive-X.Y.Z

...


cp

...

-rp

...

hive-X.Y.Z/docs

...

/www/hive.apache.org/docs/rX.Y.Z

...


rm

...

-r

...

hive-X.Y.Z

...


cd

...

/www/hive.apache.org/docs/

...


ln

...

-s

...

rX.Y.Z

...

current

...

Code Block
  1. Send announcements to the user and developer lists once the site changes are visible.
    1. In JIRA, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.

...

    1. In

...

    1. JIRA,

...

    1. "release"

...

    1. the

...

    1. version.

...

    1. Visit

...

    1. the

...

    1. "Administer

...

    1. Project"

...

    1. page,

...

    1. then

...

    1. the

...

    1. "Manage

...

    1. versions"

...

    1. page.

...

    1. You

...

    1. need

...

    1. to

...

    1. have

...

    1. the

...

    1. "Admin"

...

    1. role

...

    1. in

...

    1. Hive's

...

    1. Jira

...

    1. for

...

    1. this

...

    1. step

...

    1. and

...

    1. the

...

    1. next.

...

    1. In

...

    1. JIRA,

...

    1. close

...

    1. issues

...

    1. resolved

...

    1. in

...

    1. the

...

    1. release.

...

    1. Disable

...

    1. mail

...

    1. notifications

...

    1. for

...

    1. this

...

    1. bulk

...

    1. change.

...

    1. See

...

    1. Also