...
_This
...
page
...
is
...
prepared
...
for
...
Hive
...
committers.
...
You
...
need
...
committer
...
rights
...
to
...
create
...
a
...
new
...
Hive
...
release._
...
Preparation
- 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).
...
- Notify
...
- developers
...
- on
...
- the
...
- #hive
...
- IRC
...
- channel
...
- that
...
- you
...
- are
...
- about
...
- to
...
- branch
...
- a
...
- release.
...
- Update
CHANGES.txt
...
- to
...
- include
...
- the
...
- release
...
- version
...
- and
...
- date
...
- (use
...
Unreleased
...
- for
...
- the
...
- date
...
- if
...
- it
...
- is
...
- unknown)
...
- and
...
- remove
...
Trunk
...
(unreleased
...
changes)
...
- .
- Commit these changes to trunk.
Code Block svn commit -m "Preparing for release X.Y.Z"
...
- 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"
...
- Update
CHANGES.txt
...
- to
...
- add
...
- back
...
- in
...
Trunk
...
(unreleased
...
changes)
...
- .
- Increment the value of the
version
property thebuild.properties
file on trunk. For example, if the current value is0.7.0-SNAPSHOT
- Increment the value of the
...
- ,
...
- the
...
- new
...
- value
...
- should
...
- be
...
0.8.0-SNAPSHOT
...
- .
...
- Please
...
- note
...
- that
...
- the
...
SNAPSHOT
...
- suffix
...
- is
...
- required
...
- in
...
- order
...
- to
...
- indicate
...
- that
...
- this
...
- is
...
- an
...
- unreleased
...
- development
...
- branch.
...
- Commit
...
- these
...
- changes
...
- to
...
- trunk.
...
Code Block
...
svn commit -m "Preparing for X.Y+1.0 development"
...
Updating Release Branch
These operations take place in the release branch.
- Check out the release branch with:
Code Block svn co https://svn.apache.org/repos/asf/hive/branches/branch-X.Y
...
- Update
CHANGES.txt
...
- to
...
- include
...
- the
...
- release
...
- version
...
- and
...
- date
...
- (this
...
- change
...
- must
...
- be
...
- committed
...
- to
...
- trunk
...
- and
...
- any
...
- intermediate
...
- branches
...
- between
...
- trunk
...
- and
...
- the
...
- branch
...
- being
...
- released).
...
- Update
...
- the
...
version
...
- property
...
- value
...
- in
...
- the
...
build.properties
...
- file.
...
- You
...
- should
...
- remove
...
- the
...
SNAPSHOT
...
- suffix
...
- and
...
- set
...
version
...
- equal
...
- to
...
hive-X.Y.Z
...
- where
...
- Z
...
- is
...
- the
...
- point
...
- release
...
- number
...
- in
...
- this
...
- release
...
- series
...
- (0
...
- for
...
- the
...
- first
...
- one,
...
- in
...
- which
...
- case
...
- this
...
- step
...
- is
...
- a
...
- no-op
...
- since
...
- you
...
- already
...
- did
...
- this
...
- above
...
- when
...
- creating
...
- the
...
- branch).
...
- Commit
...
- these
...
- changes.
...
Code Block
...
svn commit -m "Preparing for release X.Y.Z"
...
- If not already done,
...
- merge
...
- desired
...
- patches
...
- from
...
- trunk
...
- into
...
- the
...
- branch
...
- and
...
- commit
...
- these
...
- changes.
...
- You
...
- can
...
- find
...
- the
...
- revision
...
- numbers
...
- using
...
svn
...
log
...
CHANGES.txt
...
- in
...
- the
...
- branch
...
- and
...
- in
...
- trunk.
...
- We
...
- don't
...
- currently
...
- use
...
- svn
...
- merge
...
- for
...
- this,
...
- but
...
- if
...
- we
...
- did,
...
- the
...
- script
...
- would
...
- be
...
Code Block
...
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."
...
- 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.
- 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.)
- 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."
...
Building
- Build the release (binary and source versions) after running unit tests. Note that this will generate MD5 checksum files automatically.{{{
...
ant
...
- test
...
- tar
...
- binary
...
Code Block
...
# Verify that the MD5 checksums are valid:
...
%
...
- md5sum
...
- -c
...
- hive-0.6.0.tar.gz.md5
...
hive-X.Y.Z.tar.gz:
...
- 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
...
...
https://svn.apache.org/repos/asf/hive/tags/release-X.Y.Z
...
...
"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/site
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 |
---|
- Send announcements to the user and developer lists once the site changes are visible.
- In JIRA, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.
...
- In
...
- JIRA,
...
- "release"
...
- the
...
- version.
...
- Visit
...
- the
...
- "Administer
...
- Project"
...
- page,
...
- then
...
- the
...
- "Manage
...
- versions"
...
- page.
...
- You
...
- need
...
- to
...
- have
...
- the
...
- "Admin"
...
- role
...
- in
...
- Hive's
...
- Jira
...
- for
...
- this
...
- step
...
- and
...
- the
...
- next.
...
- In
...
- JIRA,
...
- close
...
- issues
...
- resolved
...
- in
...
- the
...
- release.
...
- Disable
...
...
- notifications
...
- for
...
- this
...
- bulk
...
- change.
...
See
...
Also