You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by th...@apache.org on 2015/11/11 03:14:03 UTC

[1/2] incubator-apex-site git commit: APEX-216 Document release process.

Repository: incubator-apex-site
Updated Branches:
  refs/heads/master 8d47c6479 -> e7d42e3c8


APEX-216 Document release process.


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/commit/407756ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/tree/407756ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/diff/407756ca

Branch: refs/heads/master
Commit: 407756ca649fed8c3a4a762cc0f312059694c518
Parents: 8d47c64
Author: Thomas Weise <th...@gmail.com>
Authored: Fri Nov 6 10:55:25 2015 -0800
Committer: Thomas Weise <th...@datatorrent.com>
Committed: Tue Nov 10 18:12:53 2015 -0800

----------------------------------------------------------------------
 src/md/release.md | 190 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 190 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-site/blob/407756ca/src/md/release.md
----------------------------------------------------------------------
diff --git a/src/md/release.md b/src/md/release.md
new file mode 100644
index 0000000..89f2219
--- /dev/null
+++ b/src/md/release.md
@@ -0,0 +1,190 @@
+# How to release Apache Apex (incubating)
+
+For general information on ASF releases, see:
+http://incubator.apache.org/guides/releasemanagement.html
+http://www.apache.org/dev/release.html
+
+## Creating Release Branch
+
+If this is a minor release (X.Y.0), start with creating a new branch. Example for 3.2.0:
+```
+git checkout devel-3 && git pull
+git checkout -b release-3.2 devel-3
+```
+Replace version in devel-3 branch:
+```
+git checkout devel-3
+git grep -l "3.2.0-incubating-SNAPSHOT"
+```
+For informational purpose, this should yield the list of files that needs the version number replaced to X.(Y+1).0 next version. Note that the replacement step is different between the repositories due to an open issue. See:
+
+https://malhar.atlassian.net/browse/APEX-34
+
+For -core:  
+```
+dv=3.2.0-incubating-SNAPSHOT
+rv=3.3.0-incubating-SNAPSHOT
+for a in `git grep -l "${dv}"`; do echo $a; sed -i 's/'"${dv}"'/'"${rv}"'/g' $a; done
+```
+For -malhar:
+```
+mvn versions:set -DnewVersion=${rv}
+```
+Commit and push the change:
+```
+git commit -m "Preparing for 3.3.0 development"
+git push apache devel-3
+```
+
+## Preparing Release Candidate
+
+### Add missing @since tags
+
+For Java classes added since the last release, the @since tags need to be added. The javadoc plugin inserts missing tags, but does not play well with the license header when no class level documentation block is present. This is tracked as
+    
+https://malhar.atlassian.net/browse/APEX-183
+
+It also removes the custom @tags doclet tag when the existing JavaDoc is malformed, **do not use this to make changes in Malhar**. Until these problems are resolved, following (convoluted) procedure can be used **only for -core** to get the work done. 
+
+Find the files that need to be modified:
+```
+yes | mvn javadoc:fix -DdefaultSince=3.2.0 -DfixTags=since -DignoreClirr=true -DfixFieldComment=false -DfixMethodComment=false
+```
+The tags were inserted in the wrong place, remove the leading blank line added in previous step and replace `/**` with `/*` for affected files:
+```
+git status -s | awk '{print $2}' | xargs sed -i ':a;N;$!ba;s!^\n/\*\*!/*!'
+```
+Now repeat and insert tags in correct place:
+```
+yes | mvn javadoc:fix -DdefaultSince=3.2.0 -DfixTags=since -DignoreClirr=true -DfixFieldComment=false -DfixMethodComment=false
+```
+Finally restore license headers to what they used to be:
+```
+mvn license:format -Dlicense.skip=false
+```
+Do a git diff to double check, if all looks good commit and create pull request
+
+### Update CHANGELOG from JIRA
+
+Navigate to the unreleased version, example for 3.2.0:
+
+https://malhar.atlassian.net/projects/APEX/versions/11700
+
+Obtain the release notes (text mode):
+
+https://malhar.atlassian.net/secure/ReleaseNote.jspa?version=11700&styleName=Text&projectId=10700
+
+Shorten any wrapping and overly long titles to fit width.  Copy the report and insert new release section into `CHANGELOG.md` with the release date set to 72 hours ahead to reflect the time for the vote.
+
+Create shortlink for the JIRA release notes on http://s.apache.org/ for use in the VOTE thread. 
+Example: http://s.apache.org/SRM
+
+Commit tags and change log:
+```
+git commit -am "Add @since tags and update change log for release 3.2.0"
+```
+
+### Update version number for RC
+
+```
+dv=3.2.0-incubating-SNAPSHOT
+rv=3.2.0-incubating
+```
+As mentioned earlier, use the following for -core releases:
+```
+for a in `git grep -l "${dv}"`; do echo $a; sed -i 's/'"${dv}"'/'"${rv}"'/g' $a; done
+```
+And this for -malhar releases:
+```
+mvn versions:set -Pall-modules -DnewVersion=${rv}
+```
+Commit version change:
+```
+git commit -am "Preparing to release ${rv}-RC1"
+git tag -a "v${rv}-RC1" -m "Release ${rv}-RC1"
+```
+Push to fork, open pull request, wait for Travis CI build to succeed. Then push the tag.
+```
+git push apache "v${rv}-RC1" 
+```
+The only difference between branch and the tag is this final version number change. The branch stays at `SNAPSHOT` version.
+
+## Build and Deploy Release Candidate
+Prerequisites:
+
+ - GPG key needs to be in https://dist.apache.org/repos/dist/release/incubator/apex/KEYS
+ - Credentials for distribution management in `~/.m2/settings.xml`
+ - Tag pushed to ASF git
+
+Build and deploy release candidate from RC tag:
+```
+git checkout "v${rv}-RC1"
+git clean -d -f
+mvn clean deploy -Papache-release -DskipTests -Dsonatype_user=<user>
+```
+Log on to https://repository.apache.org and look for Staging Repositories. "Close" the newly created orgapacheapex-xxxx staging repository to obtain the temporary URL, note it down for the VOTE thread.
+
+Example URL: https://repository.apache.org/content/repositories/orgapacheapex-1000/
+
+Copy files to distribution dir and create checksums
+```bash
+md5sum apex-3.2.0-incubating-source-release.tar.gz > apex-3.2.0-incubating-source-release.tar.gz.md5
+md5sum apex-3.2.0-incubating-source-release.zip > apex-3.2.0-incubating-source-release.zip.md5
+
+shasum -a 512 apex-3.2.0-incubating-source-release.tar.gz > apex-3.2.0-incubating-source-release.tar.gz.sha
+shasum -a 512 apex-3.2.0-incubating-source-release.zip > apex-3.2.0-incubating-source-release.zip.sha
+```
+svn co https://dist.apache.org/repos/dist/dev/incubator/apex
+create directory for new version
+svn add the source archives and signature/checksum files
+svn commit -m  "Apache Apex v3.2.0-incubating-RC2"
+
+## Voting 
+
+PPMC vote call:
+http://mail-archives.apache.org/mod_mbox/incubator-apex-dev/201510.mbox/browser
+
+PPMC vote result:
+http://mail-archives.apache.org/mod_mbox/incubator-apex-dev/201510.mbox/%3CCAKJfLDOY-SpcJfdFiJosoyZ2JidursecietvhT5AgUeX-%3Dw-Tw%40mail.gmail.com%3E
+
+Once PPMC vote passes, another vote needs to be called for IPMC (only IPMC votes are binding).
+
+IPMC vote call:
+http://mail-archives.apache.org/mod_mbox/incubator-general/201510.mbox/%3CCA%2B5xAo21vEVw5eggLmmbx4pxwkXNLysTXYa4_hyMbWnpUZSpyQ%40mail.gmail.com%3E
+
+IPMC vote result:
+http://mail-archives.apache.org/mod_mbox/incubator-general/201510.mbox/%3CCA%2B5xAo2O8aqg3Z0-y0hiyq5aFskYrMDG-xYbdfQR8YGCiiGAjA%40mail.gmail.com%3E
+
+If the vote is not successful, a new RC needs to be built. Once IPMC vote passes, proceed with promoting and announcing the release.
+
+## Promote Release
+
+Release Nexus staging repository: http://central.sonatype.org/pages/releasing-the-deployment.html#close-and-drop-or-release-your-staging-repository
+
+Move source release to dist folder: svn mv  https://dist.apache.org/repos/dist/dev/incubator/apex/v3.2.0-incubating-RC2 https://dist.apache.org/repos/dist/release/incubator/apex/v3.2.0-incubating
+
+### JIRA
+
+Close release and all associated tickets 
+Create version numbers for next release
+
+### git
+
+Create final release tag:
+```
+git tag -a "v3.2.0-incubating" -m "Release 3.2.0-incubating" "v3.2.0-incubating-RC2"
+git push apache "v3.2.0-incubating"
+```
+Bump patch version number in release branch (X.Y.Z+1 - otherwise same as when creating new release branch):
+```
+git checkout release-3.2
+dv=3.2.0-incubating-SNAPSHOT
+rv=3.2.1-incubating-SNAPSHOT
+for a in `git grep -l "${dv}"`; do echo $a; sed -i 's/'"${dv}"'/'"${rv}"'/g' $a; done
+git commit -am "Preparing for 3.2.1 development"
+```
+Merge @since tag and change log changes to devel-3
+
+## Announce Release
+
+http://mail-archives.apache.org/mod_mbox/incubator-general/201511.mbox/%3CCA%2B5xAo1mS-BMT%3DXk_q287_j5m6ngtaT8QEEED0zfQhXtgrnOtA%40mail.gmail.com%3E
\ No newline at end of file


[2/2] incubator-apex-site git commit: added release html page and link in community

Posted by th...@apache.org.
added release html page and link in community


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/commit/e7d42e3c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/tree/e7d42e3c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/diff/e7d42e3c

Branch: refs/heads/master
Commit: e7d42e3c8f075acc3be92097da1898ebf04091f8
Parents: 407756c
Author: Andy Perlitch <an...@datatorrent.com>
Authored: Tue Nov 10 09:26:20 2015 -0800
Committer: Thomas Weise <th...@datatorrent.com>
Committed: Tue Nov 10 18:13:17 2015 -0800

----------------------------------------------------------------------
 src/md/community.md    | 8 ++++++--
 src/pages/release.html | 9 +++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-site/blob/e7d42e3c/src/md/community.md
----------------------------------------------------------------------
diff --git a/src/md/community.md b/src/md/community.md
index 915da09..8741334 100644
--- a/src/md/community.md
+++ b/src/md/community.md
@@ -8,14 +8,18 @@ The following mailing lists can be used to get help with Apex.
 - [commits@apex.incubator.apache.org](http://mail-archives.apache.org/mod_mbox/incubator-apex-commits/) is for commit messages and patches to apex. [subscribe](mailto:commits-subscribe@apex.incubator.apache.org?subject=send%20this%20email%20to%20subscribe), [unsubscribe](mailto:commits-unsubscribe@apex.incubator.apache.org?subject=send%20this%20email%20to%20unsubscribe), [archives](http://mail-archives.apache.org/mod_mbox/incubator-apex-commits/)
 
 
-## Github Repositories
+## Contributing
+
+**To learn more about how we use Github to accept contributions to the project, [check out the contributing guidelines](/contributing.html).**
 
 The Apex Project is made up of two repositories:
 
 - [Apex Core](https://github.com/apache/incubator-apex-core) - The core of the Apex platform.
 - [Apex Malhar](https://github.com/apache/incubator-apex-malhar) - Community-driven set of open-source "operators" and utilities for use in your Apex applications.
 
-**To learn more about how we use Github to accept contributions to the project, [check out the contributing guidelines](/contributing.html).**
+## Release Process
+
+**To learn more about the release process for Apex, [check out the release guidelines](/release.html).**
 
 ## Issue Tracking
 

http://git-wip-us.apache.org/repos/asf/incubator-apex-site/blob/e7d42e3c/src/pages/release.html
----------------------------------------------------------------------
diff --git a/src/pages/release.html b/src/pages/release.html
new file mode 100644
index 0000000..72c7608
--- /dev/null
+++ b/src/pages/release.html
@@ -0,0 +1,9 @@
+{{> header}}
+
+<div class="container">
+  
+  {{> release}}
+
+</div>
+
+{{> footer}}
\ No newline at end of file