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 ™" 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> "$<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>" +</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> "$<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>" +</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> "$<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>" +</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">'Slider $SLIDER_RELEASE-$RELEASE_RC'</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">></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">></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">></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">></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">></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">></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">></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">></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>d...@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> "<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>" + +<span class="n">echo</span> "<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>" + +<span class="n">echo</span> "<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>" + +<span class="n">echo</span> "<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">&</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>" +</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&search=$asf_u...@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> "<span class="n">SLIDER_RELEASE_JIRA</span> <span class="n">Committing</span> <span class="n">Release</span> $<span class="n">SLIDER_RELEASE</span>" +</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">'Slider $SLIDER_RELEASE'</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 (announcem...@apache.org) list after the bits have replicated. +To send the message to announcem...@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> "$<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>" +</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 © 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>