You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by bu...@apache.org on 2015/01/27 20:01:34 UTC

svn commit: r937909 [2/2] - in /websites/staging/slider/trunk/content: ./ developing/index.html developing/releasing.html developing/releasing_process_v1.html

Added: websites/staging/slider/trunk/content/developing/releasing_process_v1.html
==============================================================================
--- websites/staging/slider/trunk/content/developing/releasing_process_v1.html (added)
+++ websites/staging/slider/trunk/content/developing/releasing_process_v1.html Tue Jan 27 19:01:34 2015
@@ -0,0 +1,694 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link href="/css/bootstrap.min.css" rel="stylesheet">
+  <link href="/css/bootstrap-theme.min.css" rel="stylesheet">
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+  <![endif]-->
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <link href="/css/slider.css" rel="stylesheet" type="text/css">
+  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
+  <title></title>
+  
+</head>
+
+<body>
+<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+<div class="container-fluid">
+  <div class="navbar-header">
+    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-items">
+      <span class="sr-only">Toggle navigation</span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+    </button>
+    <a class="navbar-brand" href="/index.html">Slider</a>
+  </div>
+  <div class="collapse navbar-collapse" id="navbar-items">
+  <ul class="nav navbar-nav">
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        Project <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_index"><a href="/index.html">Home</a></li>
+<li id="nav_downloads"><a href="/downloads">Downloads</a></li>
+<li id="nav_source"><a href="https://git-wip-us.apache.org/repos/asf/incubator-slider.git"><i class="fa fa-external-link"></i> Source</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0"><i class="fa fa-external-link"></i> License</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Community</li>
+<li id="nav_team"><a href="/team.html">Team</a></li>
+<li id="nav_mailinglists"><a href="/mailing_lists.html">Mailing Lists</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Tools</li>
+<li id="nav_jira"><a href="https://issues.apache.org/jira/browse/SLIDER"><i class="fa fa-external-link"></i> Issues</a></li>
+<li id="nav_builds"><a href="https://builds.apache.org/job/Slider-develop"><i class="fa fa-external-link"></i> Builds</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="/design">
+        Design <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_design_overview"><a href="/design/architecture.html">Overview</a></li>
+<li id="nav_app_needs"><a href="/docs/slider_specs/application_needs.html">Application Needs</a></li>
+<li id="nav_spec"><a href="/design/specification/index.html">Expected Behavior</a></li>
+<li id="nav_registry"><a href="/design/registry/index.html">Service Registry</a></li>
+<li id="nav_ssl_impl"><a href="/design/ssl_implementation.html">SSL Implementation</a></li>
+<li id="nav_role_history"><a href="/design/rolehistory.html">Role History</a></li>
+</ul>
+</li>
+
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="/developing">
+        Developing <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_dev_building"><a href="/developing/building.html">Building</a></li>
+<li id="nav_dev_debugging"><a href="/docs/debugging.html">Debugging</a></li>
+<li id="nav_dev_testing"><a href="/developing/testing.html">Testing</a></li>
+<li id="nav_dev_funtesting"><a href="/developing/functional_tests.html">Functional Testing</a></li>
+<li id="nav_dev_manual_testing"><a href="/developing/manual_testing.html">Manual Testing</a></li>
+<li id="nav_releasing"><a href="/developing/releasing.html">Releasing</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        Using <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_use_getting_started"><a href="/docs/getting_started.html">Getting Started</a></li>
+<li id="nav_use_manpage"><a href="/docs/manpage.html">Man Page</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_app_package"><a href="/docs/slider_specs/index.html">Creating App Packages</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_client_config"><a href="/docs/client-configuration.html">Client Configuration</a></li>
+<li id="nav_use_exitcodes"><a href="/docs/exitcodes.html">Client Exit Codes</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_debugging"><a href="/docs/debugging.html">Debugging</a></li>
+<li id="nav_use_troubleshooting"><a href="/docs/troubleshooting.html">Troubleshooting</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_high_availability"><a href="/docs/high_availability.html">High Availability</a></li>
+<li id="nav_use_security"><a href="/docs/security.html">Security</a></li>
+<li id="nav_am_agent_ssl"><a href="/docs/ssl.html">Agent to AM SSL</a></li>
+<li id="nav_use_app_configuration"><a href="/docs/configuration/index.html">App Configuration Model</a></li>
+<li id="nav_use_examples"><a href="/docs/examples.html">Provider Examples</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        ASF Links <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li><a href="http://www.apache.org"><i class="fa fa-external-link"></i> Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html"><i class="fa fa-external-link"></i> Sponsorship</a></li>
+<li><a href="http://www.apache.org/security/"><i class="fa fa-external-link"></i> Security</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html"><i class="fa fa-external-link"></i> Thanks</a></li>
+</ul>
+</li>
+</ul>
+
+  </div>
+
+</div>
+</nav>
+
+
+<div class="container-fluid">
+<div class="row">
+  <div class="col-md-2" id="sidebar">
+  <div style="text-align: center">
+    <h1><a href="/index.html">Apache Slider (incubating)</a></h1>
+    <hr>
+Latest release: <strong>0.60.0-incubating</strong><br>
+    <br>
+    <a id="download-button-sidebar" class="btn btn-success btn-block" href="/downloads/" role="button">Download</a>
+  </div>
+    <hr>
+    <a href="http://incubator.apache.org"><img id="logo" alt="Apache Incubator &trade;" class="img-responsive" src="http://incubator.apache.org/images/apache-incubator-logo.png"/></a>
+  </div>
+  <div class="col-md-8 col-md-offset-1">
+
+  <div id="content">
+
+    <h1 class="title"></h1>
+
+    <!---
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<h1 id="apache-slider-release-process-v1">Apache Slider Release Process v1</h1>
+<p>This was release process for Slider versions up to and including Slider 0.60,
+which was released in November 2014.</p>
+<p>The process was superceded in January 2015 —later releases follow the process
+described in <a href="releasing.html">Releasing</a>.</p>
+<p>The process has two phases.</p>
+<ul>
+<li><a href="#phase1">Phase I</a>: Merge <code>develop</code> branch with <code>master</code> so that you can release from <code>master</code></li>
+<li><a href="#phase2">Phase II</a>: Perform Apache release from <code>master</code></li>
+</ul>
+<h3 id="tooling">Tooling</h3>
+<p>As well as everything needed to build slider, there are some extra requirements
+for releasing:</p>
+<ol>
+<li>Shell: (Currently: Bash)</li>
+<li><a href="http://danielkummer.github.io/git-flow-cheatsheet/">git flow</a></li>
+<li>OS/X and windows: <a href="http://www.sourcetreeapp.com/">Atlassian SourceTree</a>.
+This can perform the git flow operations, as well as show the state of your
+git graph.</li>
+</ol>
+<h3 id="before-you-begin">Before you begin</h3>
+<p><em>1.</em> Check out the latest version of the develop branch,
+run the tests. This should be done on a checked out
+version of the code that is not the one you are developing on
+(ideally, a clean VM), to ensure that you aren't releasing a slightly
+modified version of your own, and that you haven't accidentally
+included passwords or other test run details into the build resource
+tree.</p>
+<p>The <code>slider-funtest</code> functional test package is used to run functional
+tests against a running Hadoop YARN cluster. It needs to be configured
+according to the instructions in <a href="/developing/testing.html">testing</a> to
+create HBase and Accumulo clusters in the YARN cluster.</p>
+<p><em>Make sure that the integration tests are passing (and not being skipped) before
+starting to make a release</em></p>
+<p><em>2.</em> Check out the latest version of <code>origin/master</code>.</p>
+<p><em>3.</em> Make sure there are no uncommitted files in your local repo. </p>
+<p><em>4.</em> If you are not building against a stable Hadoop release</p>
+<ol>
+<li>Check out the hadoop branch you intend to build and test against —and include in
+     the redistributable artifacts.</li>
+<li>Build it via <code>mvn clean install -DskipTests</code></li>
+<li>Note the git revision number of this build -for documentation.</li>
+<li>Maybe: tag that revision so you can easily revert to it</li>
+</ol>
+<h5 id="profiles">Profiles</h5>
+<p>The slider POMs offer different profiles of hadoop versions to build against. The instructions 
+below do not choose one. If a profile is needed, append it to all the maven commands.</p>
+<p>e.g. <code>mvn clean install -DskipTests -Prelease-2.6</code></p>
+<h2 id="wzxhzdk40wzxhzdk41phase-i"><a name="phase1"></a>Phase - I</h2>
+<p><strong>Step #0:</strong> Sync up with the ASF repo. You do not want to release the wrong
+code.</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">develop</span>
+<span class="n">git</span> <span class="n">pull</span> <span class="n">origin</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span>
+</pre></div>
+
+
+<p><strong>Step #1:</strong> Create a JIRA for the release, estimate 3h
+(so you don't try to skip the tests)</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">SLIDER_RELEASE_JIRA</span><span class="p">=</span><span class="n">SLIDER</span><span class="o">-</span>544
+</pre></div>
+
+
+<p><strong>Step #2:</strong> Check everything in. Git flow won't let you progress without this.</p>
+<p><strong>Step #4:</strong> Increment those version numbers using <a href="http://mojo.codehaus.org/versions-maven-plugin/">the maven
+versions plugin</a></p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">SLIDER_RELEASE</span><span class="p">=</span>0<span class="p">.</span>60<span class="p">.</span>0<span class="o">-</span><span class="n">incubating</span>
+
+<span class="n">mvn</span> <span class="n">versions</span><span class="p">:</span><span class="n">set</span> <span class="o">-</span><span class="n">DnewVersion</span><span class="p">=</span>$<span class="n">SLIDER_RELEASE</span>
+</pre></div>
+
+
+<p><strong>Step #5:</strong> Commit the changed POM files</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">status</span>
+
+<span class="n">git</span> <span class="n">add</span> <span class="o">--</span><span class="n">all</span>
+
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> &quot;$<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">updating</span> <span class="n">release</span> <span class="n">POMs</span> <span class="k">for</span> $<span class="n">SLIDER_RELEASE</span>&quot;
+</pre></div>
+
+
+<p><strong>Step #3:</strong> Create and check out a release branch</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">releases</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span>0<span class="p">.</span>60
+</pre></div>
+
+
+<p><strong>Step #6:</strong> Do a final test run to make sure nothing is broken</p>
+<p>In the <code>slider</code> directory, run:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span>
+</pre></div>
+
+
+<p>(Make sure the build isn't trying to pull down its JARs from the Apache Staging
+repo)
+Once everything is built- including <code>.tar</code> files, run the tests</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">test</span>
+</pre></div>
+
+
+<p>Then the integration tests</p>
+<div class="codehilite"><pre>mvn integration-test -Dslider.conf.dir=<span class="cp">${</span><span class="n">your</span><span class="o">-</span><span class="n">config</span><span class="o">-</span><span class="nb">dir</span><span class="cp">}</span>
+</pre></div>
+
+
+<p>This will run the functional tests as well as the <code>slider-core</code> tests.</p>
+<p>It is wise to reset any VMs here, and on live clusters kill all running jobs.
+This stops functional tests failing because the job doesn't get started before
+the tests time out.</p>
+<p>As the test run takes 30-60+ minutes, now is a good time to consider
+finalizing the release notes.</p>
+<p><strong>Step #7:</strong> Build the release package</p>
+<p>Run a clean install, followed by a site build and package goal:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span>
+<span class="n">mvn</span> <span class="n">site</span><span class="p">:</span><span class="n">site</span> <span class="n">site</span><span class="p">:</span><span class="n">stage</span> <span class="n">package</span> <span class="o">-</span><span class="n">DskipTests</span>
+</pre></div>
+
+
+<p><strong>Step #8:</strong> Validate the tarball</p>
+<p>Look in <code>slider-assembly/target</code> to find the <code>.tar.gz</code> file, and the
+expanded version of it. Inspect that expanded version to make sure that
+everything looks good -and that the versions of all the dependent artifacts
+look good too: there must be no <code>-SNAPSHOT</code> dependencies. [Exception, when the release
+is deliberately made against an unreleased version of Hadoop or other dependencies.
+in that situation the unreleased dependency is expected to consist of <code>-SNAPSHOT</code>
+artifacts]</p>
+<p>tip: the lib dir can be viewed with</p>
+<div class="codehilite"><pre><span class="n">ls</span> <span class="o">-</span><span class="n">l</span> <span class="n">slider</span><span class="o">-</span><span class="n">assembly</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">all</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">/</span><span class="n">lib</span>
+</pre></div>
+
+
+<p><strong>Important</strong> Verify that there is a <code>slider-agent.tar.gz</code> file. The two-phase
+install/site build gets it in there, but doing a single build doesn't always seem 
+to.</p>
+<p><strong>Step #9:</strong> Build the release notes</p>
+<p>Create a a one-line plain text release note for commits and tags
+and a multi-line markdown release note which will be used for artifacts.</p>
+<div class="codehilite"><pre><span class="n">Release</span> <span class="n">against</span> <span class="n">hadoop</span> 2<span class="p">.</span>6<span class="p">.</span>0
+</pre></div>
+
+
+<p>The multi-line release notes should go into the slider SVN repo under
+<code>site/trunk/content/release_notes</code>.</p>
+<p>Commit the documentation changes:</p>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> &quot;$<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">updating</span> <span class="n">release</span> <span class="n">notes</span> <span class="k">for</span> <span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span>&quot;
+</pre></div>
+
+
+<p><strong>Step #10:</strong> Get back to the develop branch</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">develop</span>
+</pre></div>
+
+
+<p>You will now be back on the <code>develop</code> branch.</p>
+<p><strong>Step #11:</strong> update maven versions</p>
+<p>Switch back to <code>develop</code> and update its version number past
+the release number</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">SLIDER_DEV</span><span class="p">=</span>0<span class="p">.</span>61<span class="p">.</span>0<span class="o">-</span><span class="n">incubating</span><span class="o">-</span><span class="n">SNAPSHOT</span>
+<span class="n">mvn</span> <span class="n">versions</span><span class="p">:</span><span class="n">set</span> <span class="o">-</span><span class="n">DnewVersion</span><span class="p">=</span>$<span class="n">SLIDER_DEV</span>
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">a</span> <span class="o">-</span><span class="n">m</span> &quot;$<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">updating</span> <span class="n">development</span> <span class="n">POMs</span> <span class="n">to</span> $<span class="n">SLIDER_DEV</span>&quot;
+</pre></div>
+
+
+<p><strong>Step #12:</strong> Push the release and develop branches to github </p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">develop</span> <span class="n">releases</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span>0<span class="p">.</span>60
+</pre></div>
+
+
+<p>(assuming that <code>origin</code> maps to <code>https://git-wip-us.apache.org/repos/asf/incubator-slider.git</code>;
+ you can check this with <code>git remote -v</code></p>
+<p><strong>Step #13:</strong> Finish the JIRA</p>
+<p>Log the time, close the issue. This should normally be the end of a 
+sprint -so wrap that up too.</p>
+<p><strong>Step #14:</strong> Get back to developing!</p>
+<p>Check out the develop branch and purge all release artifacts</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">develop</span>
+<span class="n">git</span> <span class="n">pull</span> <span class="n">origin</span>
+<span class="n">mvn</span> <span class="n">clean</span>
+</pre></div>
+
+
+<p><em>At this point you are ready for Apache release from master.</em></p>
+<h2 id="wzxhzdk42wzxhzdk43phase-ii-publish-to-the-asf"><a name="phase2"></a>Phase - II: publish to the ASF</h2>
+<p>This phase of the process creates the artifacts for the ASF.
+This is done in a separate directory to ensure that nothing accidentally gets in.</p>
+<p>Preamble: set up the RC Version </p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">RELEASE_RC</span><span class="p">=</span><span class="n">rc0</span>
+</pre></div>
+
+
+<p><strong>Step 1</strong></p>
+<p>Get a clean git clone in its own directory.</p>
+<div class="codehilite"><pre><span class="n">mkdir</span> <span class="n">release</span>
+<span class="n">cd</span> <span class="n">release</span>
+<span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">incubator</span><span class="o">-</span><span class="n">slider</span><span class="p">.</span><span class="n">git</span> <span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span>
+<span class="n">cd</span> <span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span>
+</pre></div>
+
+
+<p><strong>Step 2</strong></p>
+<p>Ensure you are in the <em>master</em> branch and it's clean. Beware that the git clean command will remove any unknown files to Git in your current repository.</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">releases</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span>0<span class="p">.</span>60
+<span class="n">git</span> <span class="n">pull</span> <span class="n">origin</span>
+<span class="n">git</span> <span class="n">clean</span> <span class="o">-</span><span class="n">fxd</span>
+</pre></div>
+
+
+<p><strong>Step 3</strong></p>
+<p>Ensure the rat check is clean.</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">apache</span><span class="o">-</span><span class="nb">rat</span><span class="p">:</span><span class="n">check</span> <span class="o">-</span><span class="n">Prat</span>
+</pre></div>
+
+
+<p><strong>Step 4</strong></p>
+<p>Tag for the release. Start with RC0 and move to RC1, RC2 if you need to restart the release process for this version.</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">tag</span> <span class="o">-</span><span class="n">a</span> <span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span> <span class="o">-</span><span class="n">m</span> <span class="s">&#39;Slider $SLIDER_RELEASE-$RELEASE_RC&#39;</span>
+<span class="n">git</span> <span class="n">push</span> <span class="o">--</span><span class="n">tags</span> <span class="n">origin</span>
+</pre></div>
+
+
+<p><strong>Step 5</strong></p>
+<p>Create the release source tarball.</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span> <span class="o">-</span><span class="n">Prat</span>
+</pre></div>
+
+
+<p>You should find a <code>*.tar.gz</code> at target folder (e.g. <code>./target/apache-slider-$SLIDER_RELEASE-source-release.tar.gz</code> and <code>.zip</code>)
+Rename it with <em>incubator</em> in the name.</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="n">target</span>
+
+<span class="n">rm</span> <span class="nb">rat</span><span class="p">.</span><span class="n">txt</span>
+<span class="n">rm</span> <span class="p">.</span><span class="n">plxarc</span>
+<span class="n">rm</span> <span class="o">-</span><span class="n">rf</span> <span class="n">archive</span><span class="o">-</span><span class="n">tmp</span>
+<span class="n">rm</span> <span class="o">-</span><span class="n">rf</span> <span class="n">maven</span><span class="o">-</span><span class="n">shared</span><span class="o">-</span><span class="n">archive</span><span class="o">-</span><span class="n">resources</span>
+</pre></div>
+
+
+<p><strong>Step 6</strong>
+This is now automated: skip</p>
+<p>Sign the tarball</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">ASF_USER</span><span class="p">=</span><span class="n">stevel</span>
+
+<span class="n">gpg2</span>  <span class="o">--</span><span class="n">armor</span>  <span class="o">--</span><span class="n">default</span><span class="o">-</span><span class="n">key</span> $<span class="n">ASF_USER</span><span class="p">@</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span> <span class="o">-</span><span class="n">v</span> <span class="o">--</span><span class="n">output</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span> <span class="o">--</span><span class="n">detach</span><span class="o">-</span><span class="n">sig</span> <span class="n">apache</span><span class="o">-</span><span cl
 ass="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+<span class="n">gpg2</span>  <span class="o">--</span><span class="n">armor</span>  <span class="o">--</span><span class="n">default</span><span class="o">-</span><span class="n">key</span> $<span class="n">ASF_USER</span><span class="p">@</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span> <span class="o">-</span><span class="n">v</span>  <span class="o">--</span><span class="n">output</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span><span class="p">.</span><span class="n">asc</span> <span class="o">--</span><span class="n">detach</span><span class="o">-</span><span class="n">sig</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<s
 pan class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span>
+</pre></div>
+
+
+<p><strong>Step 7</strong></p>
+<p>Generate MD5 checksums. <em>md5sum</em> and <em>sha1sum</em> or <em>gpg</em> are all capable of creating checksum files.</p>
+<p>Either</p>
+<div class="codehilite"><pre><span class="n">openssl</span> <span class="n">md5</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">md5</span>
+<span class="n">openssl</span> <span class="n">sha1</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">sha</span>
+<span class="n">openssl</span> <span class="n">md5</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span><span class="p">.</span><span class="n">md5</span>
+<span class="n">openssl</span> <span class="n">sha1</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span><span class="p">.</span><span class="n">sha</span>
+</pre></div>
+
+
+<p>or</p>
+<div class="codehilite"><pre> <span class="n">md5sum</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">md5</span>
+ <span class="n">sha1sum</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">sha</span>
+ <span class="n">sha1sum</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span><span class="p">.</span><span class="n">sha</span>
+ <span class="n">md5sum</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span> <span class="o">&gt;</span> <span class="n">apache</span><span class="o">-</span><span class="n">slider</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span><span class="p">.</span><span class="n">md5</span>
+</pre></div>
+
+
+<p><strong>Step 8</strong></p>
+<p>Upload the artifacts to your apache home:</p>
+<p>The artifacts then need to be copied over to <code>~/public_html/slider-release-$SLIDER_RELEASE-rcX</code></p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="p">..</span>
+
+<span class="n">mv</span> <span class="n">target</span> <span class="n">slider</span><span class="o">-</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span>
+
+<span class="n">scp</span> <span class="o">-</span><span class="n">r</span> <span class="n">slider</span><span class="o">-</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span> $<span class="n">ASF_USER</span><span class="p">@</span><span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:</span><span class="n">public_html</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span>
+</pre></div>
+
+
+<p>(if you don't get the authentication for the copy, go to https://id.apache.org/ and add your ssh keys to your profile)</p>
+<p>The entire directory should now be uploaded, check it:</p>
+<div class="codehilite"><pre><span class="n">echo</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/~</span>$<span class="n">ASF_USER</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span>
+</pre></div>
+
+
+<p>on OS/X, you can have it opened in your chosen browser</p>
+<div class="codehilite"><pre><span class="n">open</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/~</span>$<span class="n">ASF_USER</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span>
+</pre></div>
+
+
+<p><strong>Step 9</strong></p>
+<p>(omitted)</p>
+<p><strong>Step 10</strong></p>
+<p>Call for a release VOTE to the dev mailing list (<code>dev@slider.incubator.apache.org</code>).</p>
+<p>To build the URLs, echo them then verify in your browser that they are present</p>
+<div class="codehilite"><pre><span class="n">echo</span>  <span class="p">[</span><span class="n">VOTE</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Slider</span> <span class="n">Incubating</span> <span class="n">Release</span> $<span class="n">SLIDER_RELEASE</span> $<span class="n">RELEASE_RC</span>
+
+<span class="n">echo</span> &quot;<span class="n">This</span> <span class="n">is</span> <span class="n">a</span> <span class="n">call</span> <span class="k">for</span> <span class="n">a</span> <span class="n">vote</span> <span class="n">on</span> <span class="n">Apache</span> <span class="n">Slider</span> $<span class="n">SLIDER_RELEASE</span> <span class="n">release</span>&quot;
+
+<span class="n">echo</span> &quot;<span class="n">Artifacts</span> <span class="n">at</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/~</span>$<span class="n">ASF_USER</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">slider</span><span class="o">-</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span>&quot;
+
+<span class="n">echo</span> &quot;<span class="n">Git</span> <span class="n">source</span> <span class="n">tag</span><span class="p">:</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span>?<span class="n">p</span><span class="p">=</span><span class="n">incubator</span><span class="o">-</span><span class="n">slider</span><span class="p">.</span><span class="n">git</span><span class="p">;</span><span class="n">a</span><span class="p">=</span><span class="n">shortlog</span><span class="p">;</span><span class="n">h</span><span class="p">=</span><span class="n">refs</span><span class="o">/</span><span class="n">tags</span><span class
 ="o">/</span><span class="n">release</span><span class="o">-</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span>&quot;
+
+<span class="n">echo</span> &quot;<span class="n">PGP</span> <span class="n">keys</span> <span class="n">at</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">pgp</span><span class="p">.</span><span class="n">mit</span><span class="p">.</span><span class="n">edu</span><span class="p">:</span>11371<span class="o">/</span><span class="n">pks</span><span class="o">/</span><span class="n">lookup</span>?<span class="n">op</span><span class="p">=</span><span class="n">vindex</span><span class="o">&amp;</span><span class="n">search</span><span class="p">=</span>$<span class="n">ASF_USER</span><span class="p">@</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span>&quot;
+</pre></div>
+
+
+<p>Sample:</p>
+<p>```</p>
+<p>Title: [VOTE] Apache Slider Incubating Release $SLIDER_RELEASE $RELEASE_RC</p>
+<p>Hello folks,</p>
+<p>This is a call for a vote on Apache Slider $SLIDER_RELEASE release. 
+Thanks to everyone who have contributed to this release.</p>
+<p>Git source tag:
+https://git-wip-us.apache.org/repos/asf?p=incubator-slider.git;a=shortlog;h=refs/tags/release-$SLIDER_RELEASE-$RELEASE_RC</p>
+<p>Staging site:
+http://people.apache.org/~$ASF_USER/slider-release-$SLIDER_RELEASE-$RELEASE_RC"</p>
+<p>PGP release keys (signed using $ASF_USER)
+http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=$ASF_USER@apache.org</p>
+<p>The issues fixed in this release are listed at at:
+https://issues.apache.org/jira/browse/SLIDER/fixforversion/<FIX VERSION OF THIS RELEASE></p>
+<p>Note that this is a source only release and we are voting on the source.</p>
+<p>Build instructions at: http://slider.incubator.apache.org/developing/building.html </p>
+<p>Vote will be open for 72 hours </p>
+<p>[ ] +1 approve
+[ ] +0 no opinion
+[ ] -1 disapprove (and reason why)</p>
+<p>```</p>
+<ul>
+<li>CHECK ALL THE URLS FIRST *</li>
+</ul>
+<p><strong>Step 11</strong></p>
+<p>If the VOTE passes, call for VOTE from IPMC. Include the VOTE and RESULT thread from the dev alias.
+If that VOTE passes with the IPMC send a RESULT mail.</p>
+<p>Sample:</p>
+<div class="codehilite"><pre><span class="n">Title</span><span class="p">:</span> <span class="p">[</span><span class="n">RESULT</span><span class="p">][</span><span class="n">VOTE</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Slider</span> $<span class="n">SLIDER_RELEASE</span> $<span class="n">RELEASE_RC</span>
+
+<span class="n">Thanks</span> <span class="k">for</span> <span class="n">the</span> <span class="n">votes</span><span class="p">.</span>
+<span class="n">The</span> <span class="n">VOTE</span> <span class="n">passes</span> <span class="n">with</span> 5<span class="p">,</span> <span class="o">+</span>1 <span class="n">votes</span> <span class="n">from</span> <span class="n">IPMC</span><span class="p">.</span>
+
+<span class="n">List</span> <span class="n">any</span> <span class="n">IPMC</span> <span class="n">votes</span><span class="p">.</span>
+
+<span class="n">Other</span> <span class="o">+</span>1 <span class="n">votes</span><span class="p">:</span>
+
+<span class="n">List</span> <span class="n">all</span> <span class="n">non</span><span class="o">-</span><span class="n">IPMC</span> <span class="n">votes</span><span class="p">.</span>
+</pre></div>
+
+
+<p><strong>Step 12</strong></p>
+<p>Verify your PGP key is provided to Apache. </p>
+<p>Apache verifies that distributions are correctly signed.
+Login to <a href="https://id.apache.org">https://id.apache.org</a> and verify the fingerprint of PGP key used to sign above is provided. (<code>gpg --fingerprint</code>)
+Upload your PGP public key only to <code>/home/$ASF_USER/.pgpkey</code></p>
+<div class="codehilite"><pre><span class="n">scp</span> <span class="n">public</span><span class="o">-</span><span class="n">key</span><span class="p">.</span><span class="n">asc</span> <span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:.</span><span class="n">pgpkey</span>
+</pre></div>
+
+
+<p><strong>Step 13</strong></p>
+<p>Publish the release as below:</p>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">dist</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">dist</span><span class="o">/</span><span class="n">release</span><span class="o">/</span><span class="n">incubator</span><span class="o">/</span><span class="n">slider</span> <span class="n">slider</span>
+
+<span class="n">cd</span> <span class="n">slider</span>
+</pre></div>
+
+
+<p>Make sure your PGP keys is in the KEYS file. The instructions to add a key 
+are at the top of the file</p>
+<p>Then...</p>
+<div class="codehilite"><pre><span class="n">mkdir</span> $<span class="n">SLIDER_RELEASE</span> $<span class="n">SLIDER_RELEASE</span><span class="o">/</span><span class="n">src</span>
+<span class="n">cd</span> $<span class="n">SLIDER_RELEASE</span><span class="o">/</span><span class="n">src</span>
+<span class="n">scp</span> <span class="o">~/</span><span class="n">public_html</span><span class="o">/</span>$<span class="n">SLIDER_RELEASE</span><span class="o">-</span>$<span class="n">RELEASE_RC</span><span class="o">/*</span> <span class="p">.</span>
+<span class="n">cd</span> <span class="p">..</span>
+<span class="n">svn</span> <span class="n">add</span> $<span class="n">SLIDER_RELEASE</span>
+<span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> &quot;<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">Committing</span> <span class="n">Release</span> $<span class="n">SLIDER_RELEASE</span>&quot;
+</pre></div>
+
+
+<p><strong>Step 14</strong></p>
+<p>Create the release tag:</p>
+<div class="codehilite"><pre><span class="n">On</span> <span class="n">branch</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">tag</span> <span class="o">-</span><span class="n">a</span> $<span class="n">SLIDER_RELEASE</span> <span class="o">-</span><span class="n">m</span> <span class="s">&#39;Slider $SLIDER_RELEASE&#39;</span>
+<span class="n">git</span> <span class="n">push</span> <span class="o">--</span><span class="n">tags</span> <span class="n">origin</span>
+</pre></div>
+
+
+<p><strong>Step 15</strong></p>
+<p>Update the Slider website as needed. Most of the documents would have been updated by now to reflect the released version. <em>The remaining changes should really be modifying the references to the latest release to the new version.</em></p>
+<p>The download details for the latest release needs to be updated after mirrors are updated in <strong>Step 12</strong>. </p>
+<p>Verify the download links at <a href="http://slider.incubator.apache.org">Slider Page</a>.</p>
+<p><strong>Step 16</strong></p>
+<p>Send an announcement:</p>
+<p>The bits published in <strong>Step 13</strong> may take up to 24 hours to replicate to the mirrors.</p>
+<p>Send an announcement to the Slider dev, Slider user, and the general Apache announcement (announcement@apache.org) list after the bits have replicated.
+To send the message to announcement@apache.org, you will need to send the message from your apache.org email address.</p>
+<p>Sample:</p>
+<div class="codehilite"><pre><span class="n">Title</span><span class="p">:</span> <span class="p">[</span><span class="n">ANNOUNCE</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Slider</span> <span class="n">x</span><span class="p">.</span><span class="n">y</span><span class="p">.</span><span class="n">z</span><span class="o">-</span><span class="n">incubating</span><span class="p">.</span>
+
+<span class="n">The</span> <span class="n">Apache</span> <span class="n">Slider</span> <span class="n">team</span> <span class="n">is</span> <span class="n">proud</span> <span class="n">to</span> <span class="n">announce</span> <span class="n">Apache</span> <span class="n">Slider</span> <span class="n">incubation</span> <span class="n">release</span> <span class="n">version</span> <span class="n">x</span><span class="p">.</span><span class="n">y</span><span class="p">.</span><span class="n">z</span><span class="p">.</span>
+
+<span class="n">Apache</span> <span class="n">Slider</span> <span class="p">(</span><span class="n">incubating</span><span class="p">)</span> <span class="n">is</span> <span class="n">a</span> <span class="n">YARN</span> <span class="n">application</span> <span class="n">which</span> <span class="n">deploys</span> <span class="n">existing</span> <span class="n">distributed</span> <span class="n">applications</span> <span class="n">on</span> <span class="n">YARN</span><span class="p">,</span>
+<span class="n">monitors</span> <span class="n">them</span><span class="p">,</span> <span class="n">and</span> <span class="n">makes</span> <span class="n">them</span> <span class="n">larger</span> <span class="n">or</span> <span class="n">smaller</span> <span class="n">as</span> <span class="n">desired</span> <span class="o">-</span> <span class="n">even</span> <span class="k">while</span> <span class="n">the</span> <span class="n">application</span> <span class="n">is</span> <span class="n">running</span><span class="p">.</span>
+
+<span class="n">The</span> <span class="n">release</span> <span class="n">bits</span> <span class="n">are</span> <span class="n">at</span><span class="p">:</span>  <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">dyn</span><span class="o">/</span><span class="n">closer</span><span class="p">.</span><span class="n">cgi</span><span class="o">/</span><span class="n">incubator</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">x</span><span class="p">.</span><span class="n">y</span><span class="p">.</span><span class="n">z</span><span class="o">-</span><span class="n">incubating</span><span class="o">/</span>
+
+<span class="n">To</span> <span class="n">use</span> <span class="n">the</span> <span class="n">released</span> <span class="n">bits</span> <span class="n">please</span> <span class="n">use</span> <span class="n">the</span> <span class="n">following</span> <span class="n">documentation</span><span class="p">:</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">slider</span><span class="p">.</span><span class="n">incubator</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">docs</span><span class="o">/</span><span class="n">getting_started</span><span class="p">.</span><span class="n">html</span>
+
+<span class="n">We</span> <span class="n">would</span> <span class="n">like</span> <span class="n">to</span> <span class="n">thank</span> <span class="n">all</span> <span class="n">the</span> <span class="n">contributors</span> <span class="n">that</span> <span class="n">made</span> <span class="n">the</span> <span class="n">release</span> <span class="n">possible</span><span class="p">.</span>
+
+<span class="n">Regards</span><span class="p">,</span>
+<span class="n">The</span> <span class="n">Slider</span> <span class="n">Team</span>
+</pre></div>
+
+
+<p><strong>Step 17</strong></p>
+<p>Tell JIRA there's a new release. You must be registered as an admin for the
+Slider project on JIRA.</p>
+<p>Go to the <a href="https://issues.apache.org/jira/plugins/servlet/project-config/SLIDER/versions">Slider Versions page</a></p>
+<p>Release the version you've done, carrying forward issues that haven't been done
+yet.</p>
+<h2 id="hotfixing-a-release">Hotfixing a release</h2>
+<p>If you need to change a release —such as to issue a new RC, you must
+create a hotfix release which updates the <code>master/</code> and <code>develop/</code> branches.
+you can then create a new release off the last commit off the hotfix branch
+(the one which is then merged into both branches).</p>
+<ol>
+<li>
+<p>Create a JIRA for the hotfix, estimate as much time as the main release
+and any time needed to actually fix the code.</p>
+</li>
+<li>
+<p>set the release env var to it.</p>
+<p>export SLIDER_RELEASE_JIRA=SLIDER-349</p>
+</li>
+<li>
+<p>Create the hotfix branch with the JIRA version</p>
+</li>
+<li>Fix things.</li>
+<li>Rerun all the tests.</li>
+<li>Check in the fixes</li>
+<li>Note the commit number of the final commit</li>
+<li>With git flow, finish the hotfix</li>
+<li>start a git flow release using the specific commit of the hotfix branch,
+rather than <code>HEAD</code> of the <code>develop</code> branch.</li>
+<li>Note the current version of the develop artifacts; set <code>$SLIDER_DEV</code> to it.
+The POMs will be returned to this after the release process.</li>
+<li>
+<p>Create a new release version (e.g. slider-0.50.2). This can before that
+of the current develop branch:</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">SLIDER_RELEASE</span><span class="p">=</span>0<span class="p">.</span>50<span class="p">.</span>2<span class="o">-</span><span class="n">incubating</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>Repeat the release process from step 4 to step 10.</p>
+</li>
+</ol>
+<p>When you get to the end of release phase, the end of release process will fail
+due to conflict between POM versions. </p>
+<ol>
+<li>
+<p>Resolve the conflict by accepting the new updates: the maven version will
+be set to the <code>$SLIDER_RELEASE</code> value, even though it is now older than
+the actual development version.</p>
+</li>
+<li>
+<p>verify that <code>$SLIDER_DEV</code> is set to the version you want to return the
+<code>develop/</code> branch to:</p>
+<div class="codehilite"><pre><span class="n">echo</span> $<span class="n">SLIDER_DEV</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>reset the versions</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">versions</span><span class="p">:</span><span class="n">set</span> <span class="o">-</span><span class="n">DnewVersion</span><span class="p">=</span>$<span class="n">SLIDER_DEV</span>
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">a</span> <span class="o">-</span><span class="n">m</span> &quot;$<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">reverting</span> <span class="n">development</span> <span class="n">POMs</span> <span class="n">to</span> $<span class="n">SLIDER_DEV</span>&quot;
+</pre></div>
+
+
+</li>
+<li>
+<p>Continue the release process from step 12.</p>
+</li>
+</ol>
+<h2 id="publishing-artifacts">Publishing artifacts</h2>
+<p>Once the vote has (successfully) completed on both slider-dev and incubator-general, the artifacts may be published in two ways</p>
+<ol>
+<li>tarballs for download via the apache distribution system</li>
+<li>JAR files for download via the maven repository</li>
+</ol>
+<h3 id="publishing-files-for-apache-release">Publishing files for apache release</h3>
+<p>See the <a href="http://www.apache.org/dev/release.html">ASF release guidelines</a></p>
+  </div>
+
+  <div id="footer">
+    <a alt="Apache Software Foundation" href="http://www.apache.org">
+      <img id="asf-logo" alt="Apache Software Foundation" src="/images/feather-small.gif" width="100">
+    </a>
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011-2014 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        Apache Slider, Slider, Apache, the Apache feather logo, and the Apache Incubator
+        project logo are trademarks of the <a href="http://www.apache.org">Apache Software Foundation</a>.<br />
+        Site created with <a href="http://getbootstrap.com/">Bootstrap</a> including icons from <a href="http://glyphicons.com/">GLYPHICONS</a> and <a href="http://fontawesome.io/">Font Awesome</a>.
+      </p>
+    </div> 
+  </div>
+  </div>
+
+</div>
+</div>
+
+<script type="text/javascript">
+
+</script>
+</body>
+</html>