You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2017/10/11 21:44:55 UTC

orc git commit: Add page for how to make a release.

Repository: orc
Updated Branches:
  refs/heads/master 09e9e1240 -> 5b9aef1ab


Add page for how to make a release.

Signed-off-by: Owen O'Malley <om...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/orc/repo
Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/5b9aef1a
Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/5b9aef1a
Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/5b9aef1a

Branch: refs/heads/master
Commit: 5b9aef1abad247e6b6f83756359e2d204093e580
Parents: 09e9e12
Author: Owen O'Malley <om...@apache.org>
Authored: Wed Oct 11 14:35:16 2017 -0700
Committer: Owen O'Malley <om...@apache.org>
Committed: Wed Oct 11 14:44:43 2017 -0700

----------------------------------------------------------------------
 site/develop/index.md        |   8 ++-
 site/develop/make-release.md | 136 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/orc/blob/5b9aef1a/site/develop/index.md
----------------------------------------------------------------------
diff --git a/site/develop/index.md b/site/develop/index.md
index 86b1667..35aa63f 100644
--- a/site/develop/index.md
+++ b/site/develop/index.md
@@ -94,5 +94,9 @@ Please check our [coding guidelines](/develop/coding.html).
 
 ## Reviews
 
-All code must be +1'ed by a committer other than the author prior to its 
-commit.
\ No newline at end of file
+ORC uses Commit-Then-Review, so patches can be committed without a
+committer's review. However, most changes should be reviewed first.
+
+## Making a Release
+
+The process to make a release is documented [here](/develop/make-release.html).

http://git-wip-us.apache.org/repos/asf/orc/blob/5b9aef1a/site/develop/make-release.md
----------------------------------------------------------------------
diff --git a/site/develop/make-release.md b/site/develop/make-release.md
new file mode 100644
index 0000000..50c480f
--- /dev/null
+++ b/site/develop/make-release.md
@@ -0,0 +1,136 @@
+---
+layout: page
+title: Making a Release
+---
+
+## Preparing for release
+
+Set version so that it isn't a SNAPSHOT.
+
+~~~
+% git checkout branch-X.Y
+% edit CMakeLists.txt
+% (mkdir build; cd build; cmake ..)
+~~~
+
+Commit the changes back to Apache along with a tag for the release candidate.
+
+~~~
+% git commit -s -S -c 'Preparing for release X.Y.Z'
+% git push apache branch-X.Y
+% git tag release-X.Y.Zrc0
+% git push apache release-X.Y.Zrc0
+~~~
+
+Generate the source tarball and checksums for the release.
+
+~~~
+% wget https://github.com/apache/orc/archive/release-X.Y.Zrc0.tar.gz
+% tar xzf release-X.Y.Zrc0.tar.gz
+% mv orc-release-X.Y.Zrc0 orc-X.Y.Z
+% tar czf orc-X.Y.Zrc0.tar.gz orc-X.Y.Z
+% shasum -a 256 orc-X.Y.Zrc0.tar.gz > orc-X.Y.Zrc0.tar.gz.sha256
+% gpg --detach-sig --armor orc-X.Y.Zrc0.tar.gz
+~~~
+
+Copy the artifacts into your personal Apache website.
+
+~~~
+% sftp <apacheid>@home.apache.org
+sftp> cd public_html
+sftp> mkdir orc-X.Y.Zrc0
+sftp> cd orc-X.Y.Zrc0
+sftp> put orc-X.Y.Zrc0*
+sftp> quit
+~~~
+
+Send email with the vote:
+
+~~~
+To: dev@orc.apache.org
+Subject: [VOTE] Should we release ORC X.Y.Zrc0?
+
+All,
+
+Should we release the following artifacts as ORC X.Y.Z?
+
+tar: http://home.apache.org/~omalley/orc-X.Y.Zrc0/
+tag: https://github.com/apache/orc/releases/tag/release-X.Y.Zrc0
+jiras: https://issues.apache.org/jira/browse/ORC/fixforversion/<fixid>
+
+Thanks!
+~~~
+
+## To promote a release candidate (RC) to a real release.
+
+Update the final tag and remove the rc tag.
+
+~~~
+% git tag rel/release-X.Y.Z -s
+% git push apache rel/release-X.Y.Z
+% git push apache :release-X.Y.Zrc0
+~~~
+
+Publish the artifacts to Maven central staging.
+
+~~~
+% cd java
+% mvn -Papache-release clean deploy
+~~~
+
+Publish from the staging area:
+
+* login to [Maven staging](https://repository.apache.org/index.html#stagingRepositories)
+* find your staging repository (search for org.apache.org)
+* close it
+* release it
+
+Publish the artifacts to Apache's dist area.
+
+~~~
+In a svn clone of https://dist.apache.org/repos/dist/release/orc
+% mkdir orc-X.Y.Z
+% cd orc-X.Y.Z
+copy release artifacts with a rename from orc-X.Y.Zrc0* to orc-X.Y.Z*
+% svn add .
+% svn commit
+~~~
+
+We keep the latest patch release for each of the last two branches, so remove
+extra releases from the Apache dist area.
+
+Update the release branch with the version for the next release.
+
+~~~
+edit CMakeLists.txt to change version to X.Y.(Z+1)-SNAPSHOT
+% cd build
+% cmake ..
+% git commit -a -s -S -C 'Preparing branch for post X.Y.Z development'
+% git push apache branch-X.Y
+~~~
+
+Update the site with the new release.
+
+* Check out the master branch (git co apache/master)
+* Change directory in to site.
+* edit site/_data/releases.yml to add new release
+   * update the state for the releases to match the changes in the Apache dist
+      * latest = new release (only one of these!)
+      * stable = other release still in dist
+      * archived = removed from dist
+* create a new file _posts/YYYY-MM-DD-ORC-X.Y.Z.md for the news section
+* Run "bundle exec jekyll serve"
+* Check the website on http:/0.0.0.0:4000/
+* If it looks good, use git add to add the new files and commit to master with a message of "update site for X.Y.Z".
+* Change directory into target.
+* Add the new files that you just generated.
+   * This assumes you've set up site/target to be a separate git workspace that tracks the asf-site branch.
+* Commit to asf-site to publish the updated site.
+
+Update ORC's jira to reflect the released version.
+
+* Select the resolved issues and bulk transition them to closed.
+   * query: project = ORC AND fixVersion = X.Y.Z and status = Resolved ORDER BY created desc
+* Mark the version as released and set the date.
+
+It usually take up to 24 hours for the apache dist mirrors and maven central to update with the new release.