You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2013/04/06 23:33:46 UTC
git commit: Recipe/todo list for releases
Updated Branches:
refs/heads/master daf3518bf -> 17d844b56
Recipe/todo list for releases
Project: http://git-wip-us.apache.org/repos/asf/incubator-curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-curator/commit/17d844b5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-curator/tree/17d844b5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-curator/diff/17d844b5
Branch: refs/heads/master
Commit: 17d844b5638d8e6b7eed3c337c6d3ec3381b2421
Parents: daf3518
Author: randgalt <ra...@apache.org>
Authored: Sat Apr 6 16:33:43 2013 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sat Apr 6 16:33:43 2013 -0500
----------------------------------------------------------------------
src/site/confluence/committers.confluence | 114 ++++++++++++++++++-
src/site/confluence/email-examples.confluence | 54 +++++++++
2 files changed, 162 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-curator/blob/17d844b5/src/site/confluence/committers.confluence
----------------------------------------------------------------------
diff --git a/src/site/confluence/committers.confluence b/src/site/confluence/committers.confluence
index ddd57a5..4d4da08 100644
--- a/src/site/confluence/committers.confluence
+++ b/src/site/confluence/committers.confluence
@@ -1,9 +1,34 @@
h1. Information/Recipes for Curator Committers
+*Tools/Preparation*
+* [Tools|#tool-chain]
+* [GPG|#gpg]
* [Maven Settings|#maven-settings]
-* [How to Publish the Curator Website|#publish-website]
* [Git Setup|#git-setup]
+*Development*
+* [GitHub Flow|#github-flow]
+* [Jira|#use-jira]
+* [Maven Checks|maven-checks]
+
+*Release/Publishing*
+* [Prepare for Release|#release-prepare]
+* [Perform the Release|#release-perform]
+* [Vote On the Release|#release-vote]
+* [Promote the Release|#release-promote]
+* [How to Publish the Curator Website|#publish-website]
+
+{anchor:tool-chain}
+h2. Tools
+Curator is built using Maven and Git. You should be familiar with both of these tools. For publishing,
+you also need to install GPG and create a key that is available from a well known public site.
+
+{anchor:gpg}
+h2. GPG
+Download GPG from [http://www.gnupg.org/download/]. Then, follow the steps described
+here, [http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/], to
+*Generate a Key Pair* and *Distribute Your Public Key*.
+
{anchor:maven-settings}
h2. Maven Settings
@@ -29,6 +54,7 @@ website):
<properties>
...
<curator-website-checkout-path>path-goes-here</curator-website-checkout-path>
+ <gpg.keyname>id-of-your-pgp-key</gpg.keyname>
...
</properties>
...
@@ -39,6 +65,87 @@ website):
</settings>
{noformat}
+{anchor:git-setup}
+h2. Git Setup
+
+Apache has a good guide on how to prepare your environment for interacting with the Curator Git repo: [https://git-wip-us.apache.org/].
+
+----
+
+h2. Development
+
+{anchor:github-flow}
+h3. GitHub Flow
+
+Curator loosely uses [GitHub Flow|http://scottchacon.com/2011/08/31/github-flow.html]. The short form of GitHub Flow is:
+
+* Anything in the master branch is deployable
+* To work on something new, create a descriptively named branch off of master (ie: new-oauth2-scopes)
+* Commit to that branch locally and regularly push your work to the same named branch on the server
+* When you need feedback or help, or you think the branch is ready for merging, send a pull request
+* After someone else has reviewed and signed off on the feature, you can merge it into master
+* Once it is merged and pushed to 'master', you can and should deploy immediately
+
+{anchor:use-jira}
+h3. Jira
+
+For all but minor changes, there should be a Jira "ticket" created at [https://issues.apache.org/jira/browse/CURATOR].
+
+{anchor:maven-checks}
+h3. Maven Checks
+Regardless of which IDE you use, you should periodically perform a {{mvn clean install}} to validate that the various configured checks (such as license headers,
+etc.) are passing as well as the unit tests.
+
+----
+
+{anchor:release-prepare}
+h2. Prepare the Release
+
+# Do a dry run of the release/prepare step by executing {{mvn release:prepare -DdryRun=true}}. The dry run will not commit any changes back to Git and gives you the opportunity to verify that the release process will complete
+as expected. If you need to cancel, execute {{mvn release:clean}} and then reset via {{git reset --hard}}.
+# Verify that the release process completed as expected:
+** The release plugin will create {{pom.xml.tag}} files which contain the changes that would have been committed to SVN. The only differences between {{pom.xml.tag}}
+and its corresponding {{pom.xml}} file should be the version number.
+** If other formatting changes have been made you should review the changes and then commit and push them.
+** Once any failures or required updates have been committed to svn, rollback the release prepare files: {{mvn release:rollback}}
+# Execute the release/prepare step for real this time. You'll be prompted for the same version information and optionally your GPG
+passphrase again: {{mvn release:prepare}}.
+
+{anchor:release-perform}
+h2. Perform the Release
+
+# Execute release/perform: {{release:perform}}.
+# Verify the staged artifacts in the Apache Nexus repository:
+** Go to: [https://repository.apache.org/index.html]
+** Enterprise > Staging
+** Staging tab > Name column > curator
+** Navigate through the artifact tree and double check things.
+# Close the Nexus staging repo by clicking on the curator repo and clicking the "Close" button.
+# Important: Do *not* release the repo at this point. Releases require voting.
+
+{anchor:release-vote}
+h2. Initiate a Vote On the Release
+# Create a VOTE email thread on [@dev|mailto:dev@curator.incubator.apache.org] to record votes as replies (see [Example Emails|email-examples.html]).
+# If the Vote succeeds, you can then promote the release:
+** At [https://repository.apache.org] select the curator repo and click the "Release" button.
+** More TBD
+# Regardless of the vote result, send a RESULT VOTE email (see [Example Emails|email-examples.html]).
+
+{anchor:release-promote}
+h2. Promote the Release
+Upon a successful vote for the release, it should be promoted:
+# Release the artifact:
+** Go to: [https://repository.apache.org/index.html]
+** Select the curator release and click the "Release" button.
+# Deploy the component site:
+** TBD
+# Add the distribution artifacts to the distribution area:
+** TBD
+# Announce the Release:
+** TBD
+
+----
+
{anchor:publish-website}
h2. How to Publish the Curator Website
@@ -54,8 +161,3 @@ Have a look at the staged site and make sure it's good. Then:
mvn site-deploy
{noformat}
-{anchor:git-setup}
-h2. Git Setup
-
-Apache has a good guide on how to prepare your environment for interacting with the Curator Git repo: [https://git-wip-us.apache.org/].
-
http://git-wip-us.apache.org/repos/asf/incubator-curator/blob/17d844b5/src/site/confluence/email-examples.confluence
----------------------------------------------------------------------
diff --git a/src/site/confluence/email-examples.confluence b/src/site/confluence/email-examples.confluence
new file mode 100644
index 0000000..35a7024
--- /dev/null
+++ b/src/site/confluence/email-examples.confluence
@@ -0,0 +1,54 @@
+h1. Example Emails
+
+h2. Release Vote Email Example
+
+{noformat}
+To: "Apache Curator Developers List" <de...@curator.incubator.apache.org>
+Subject: [VOTE] Release Curator x.y.z
+
+Hello,
+
+This is a vote to release Curator x.y.z
+
+Link to release notes:
+https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314425&version=12324259
+
+Staging repo:
+https://repository.apache.org/content/repositories/curator-[YOUR REPOSITORY ID]/etc
+
+Release artifact:
+https://repository.apache.org/content/repositories/curator-[YOUR REPOSITORY ID]/etc
+
+Vote will be open for 72 hours.
+
+[ ] +1
+[ ] 0
+[ ] -1 (explain why)
+{noformat}
+
+h2. Release Vote Result Email
+
+{noformat}
+To: "Apache Curator Developers List" <de...@curator.incubator.apache.org>
+Subject: [RESULT] [VOTE] Release Curator x.y.z
+
+Hello,
+
+The vote to release Curator x.y.z has passed/failed.
+
++1 (binding):
+
+ Jordan Zimmerman (*)
+ Patrick Hunt (*)
+ Jay Zarfoss (*)
+ John Galt
+
+* IPMC members
+
++1 (non binding):
+
+ Ryan Giggs
+ Wayne Rooney
+
+I will promote the artifacts to the central repo.
+{noformat}