


<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>How to prepare a release &mdash; singa 2.0.0 documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript">
          var DOCUMENTATION_OPTIONS = {
              URL_ROOT:'../',
              VERSION:'2.0.0',
              LANGUAGE:'None',
              COLLAPSE_INDEX:false,
              FILE_SUFFIX:'.html',
              HAS_SOURCE:  true,
              SOURCELINK_SUFFIX: '.txt'
          };
      </script>
        <script type="text/javascript" src="../_static/jquery.js"></script>
        <script type="text/javascript" src="../_static/underscore.js"></script>
        <script type="text/javascript" src="../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Source Repository" href="../community/source-repository.html" />
    <link rel="prev" title="How to Contribute to Documentation" href="contribute-docs.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
    integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
    .fa:hover {
        opacity: 0.7;
    }

    .fab:hover {
        opacity: 0.7;
    }
</style>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home"> singa
          

          
            
            <img src="../_static/singa.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
              <div class="version">
                latest
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to prepare a release</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#select-a-release-manager">Select a release manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="#prepare-license-file">Prepare LICENSE file</a></li>
<li class="toctree-l2"><a class="reference internal" href="#prepare-notice-file">Prepare NOTICE file</a></li>
<li class="toctree-l2"><a class="reference internal" href="#prepare-release-notes-file">Prepare RELEASE_NOTES file</a></li>
<li class="toctree-l2"><a class="reference internal" href="#prepare-readme-file">Prepare README file</a></li>
<li class="toctree-l2"><a class="reference internal" href="#package-the-release">Package the release</a></li>
<li class="toctree-l2"><a class="reference internal" href="#upload-the-release">Upload the release</a></li>
<li class="toctree-l2"><a class="reference internal" href="#roll-out-artifacts-to-mirrors">Roll out artifacts to mirrors</a></li>
<li class="toctree-l2"><a class="reference internal" href="#update-the-download-page">Update the Download page</a></li>
<li class="toctree-l2"><a class="reference internal" href="#make-the-internal-announcements">Make the internal announcements</a></li>
<li class="toctree-l2"><a class="reference internal" href="#call-a-vote-in-dev">Call a vote in dev</a></li>
<li class="toctree-l2"><a class="reference internal" href="#vote-check">Vote Check</a></li>
<li class="toctree-l2"><a class="reference internal" href="#vote-result-mail">Vote result mail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#publish-release">Publish release</a></li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">Community</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../community/source-repository.html">Source Repository</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/mail-lists.html">Project Mailing Lists</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/issue-tracking.html">Issue Tracking</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/team-list.html">The SINGA Team</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">singa</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html">Docs</a> &raquo;</li>
        
      <li>How to prepare a release</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="how-to-prepare-a-release">
<h1>How to prepare a release<a class="headerlink" href="#how-to-prepare-a-release" title="Permalink to this headline">¶</a></h1>
<p>This is a guide for the release preparing process in SINGA.</p>
<div class="section" id="select-a-release-manager">
<h2>Select a release manager<a class="headerlink" href="#select-a-release-manager" title="Permalink to this headline">¶</a></h2>
<p>The release manager (RM) is the coordinator for the release process. It is the RM&#8217;s signature (.asc) that is uploaded together with the release. The RM generates KEY (RSA 4096-bit) and uploads it to a public key server. The RM needs to get his key endorsed (signed) by other Apache user, to be connected to the web of trust. <a class="reference external" href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a></p>
<dl class="docutils">
<dt>Check:</dt>
<dd><ul class="first last simple">
<li>The codebase does not include third-party code which is not compatible to APL</li>
<li>The dependencies are compatible with APL. GNU-like licenses are NOT compatible</li>
<li>All source files written by us MUST include the Apache license header: <a class="reference external" href="http://www.apache.org/legal/src-headers.html">http://www.apache.org/legal/src-headers.html</a>. There&#8217;s a script in there which helps propagating the header to all files.</li>
<li>The build process is error-free.</li>
<li>Unit tests are included (as much as possible)</li>
<li>The Jupyter notebooks are working with the new release</li>
<li>The online documentation on the Apache website is up to date.</li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="prepare-license-file">
<h2>Prepare LICENSE file<a class="headerlink" href="#prepare-license-file" title="Permalink to this headline">¶</a></h2>
<p>copy and paste this <a class="reference external" href="http://apache.org/licenses/LICENSE-2.0.txt">http://apache.org/licenses/LICENSE-2.0.txt</a></p>
</div>
<div class="section" id="prepare-notice-file">
<h2>Prepare NOTICE file<a class="headerlink" href="#prepare-notice-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li>Use this template: <a class="reference external" href="http://apache.org/legal/src-headers.html#notice">http://apache.org/legal/src-headers.html#notice</a></li>
<li>If we include any third party code  in the release package which is not APL, must state it at the end of the NOTICE file.</li>
<li>Example: <a class="reference external" href="http://apache.org/licenses/example-NOTICE.txt">http://apache.org/licenses/example-NOTICE.txt</a></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="prepare-release-notes-file">
<h2>Prepare RELEASE_NOTES file<a class="headerlink" href="#prepare-release-notes-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li>Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.</li>
<li>Follow this example:  <a class="reference external" href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt</a></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="prepare-readme-file">
<h2>Prepare README file<a class="headerlink" href="#prepare-readme-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li>How to build, run test, run examples</li>
<li>List of dependencies.</li>
<li>Mail list, website, etc. Any information useful for user to start.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="package-the-release">
<h2>Package the release<a class="headerlink" href="#package-the-release" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>The release should be packaged into <span class="classifier-delimiter">:</span> <span class="classifier">apache-singa-xx.xx.xx.tar.gz</span></dt>
<dd><ul class="first last simple">
<li>src/</li>
<li>README</li>
<li>LICENSE</li>
<li>NOTICE</li>
<li>RELEASE_NOTES</li>
<li>...</li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="upload-the-release">
<h2>Upload the release<a class="headerlink" href="#upload-the-release" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>The release is uploaded to the RM’s Apache page: people.apache.org/~ID/...</dt>
<dd><ul class="first last simple">
<li>apache-singa-xx.xx.xx.tar.gz</li>
<li>KEY</li>
<li>XX.acs</li>
<li>XX.md5</li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="roll-out-artifacts-to-mirrors">
<h2>Roll out artifacts to mirrors<a class="headerlink" href="#roll-out-artifacts-to-mirrors" title="Permalink to this headline">¶</a></h2>
<p>svn add to “dist/release/singa”</p>
<p>Delete old artifacts (automatically archived)</p>
</div>
<div class="section" id="update-the-download-page">
<h2>Update the Download page<a class="headerlink" href="#update-the-download-page" title="Permalink to this headline">¶</a></h2>
<p>The tar.gz file MUST be downloaded from mirror, using closer.cgi script
other artifacts MUST be downloaded from main Apache site
Good idea to update EC2 image and make it available for download as well</p>
</div>
<div class="section" id="make-the-internal-announcements">
<h2>Make the internal announcements<a class="headerlink" href="#make-the-internal-announcements" title="Permalink to this headline">¶</a></h2>
<p>Template for singa-dev&#64; voting:</p>
<p>To: <a class="reference external" href="mailto:dev&#37;&#52;&#48;singa&#46;apache&#46;org">dev<span>&#64;</span>singa<span>&#46;</span>apache<span>&#46;</span>org</a>
Subject: [VOTE] Release apache-singa-X.Y.Z (release candidate N)</p>
<p>Hi all,</p>
<p>I have created a build for Apache SINGA X.Y.Z, release candidate N.</p>
<p>The artifacts to be voted on are located here:
<a class="reference external" href="https://dist.apache.org/repos/dist/dev/singa/apache-singa-X.Y.Z-rcN/">https://dist.apache.org/repos/dist/dev/singa/apache-singa-X.Y.Z-rcN/</a></p>
<p>The hashes of the artifacts are as follows:
apache-singa-X.Y.Z.tar.gz.md5 XXXX
apache-singa-X.Y.Z.tar.gz.sha256 XXXX</p>
<p>Release artifacts are signed with the following key:
<a class="reference external" href="https://people.apache.org/keys/committer">https://people.apache.org/keys/committer</a>/{Apache ID of the Release Manager}.asc</p>
<p>and the signature file is:
apache-singa-X.Y.Z.tar.gz.asc</p>
<p>Please vote on releasing this package. The vote is open for at least 72 hours and passes if a majority of at least three +1 votes are cast.</p>
<p>[ ] +1 Release this package as Apache SINGA X.Y.Z
[ ]  0 I don&#8217;t feel strongly about it, but I&#8217;m okay with the release
[ ] -1 Do not release this package because...</p>
<p>Here is my vote:</p>
<p>+1</p>
<p>{SINGA Team Member Name}</p>
<p>Wait at least 48 hours for test responses</p>
<p>Any PMC, committer or contributor can test features for releasing, and feedback. Based on that, PMC will decide whether start a vote.</p>
</div>
<div class="section" id="call-a-vote-in-dev">
<h2>Call a vote in dev<a class="headerlink" href="#call-a-vote-in-dev" title="Permalink to this headline">¶</a></h2>
<p>Call a vote in <a class="reference external" href="mailto:dev&#37;&#52;&#48;singa&#46;apache&#46;org">dev<span>&#64;</span>singa<span>&#46;</span>apache<span>&#46;</span>org</a></p>
</div>
<div class="section" id="vote-check">
<h2>Vote Check<a class="headerlink" href="#vote-check" title="Permalink to this headline">¶</a></h2>
<p>All PMC members and committers should check these before vote +1 :</p>
</div>
<div class="section" id="vote-result-mail">
<h2>Vote result mail<a class="headerlink" href="#vote-result-mail" title="Permalink to this headline">¶</a></h2>
<p>Template for singa-dev&#64; voting (results):</p>
<p>Subject: [RESULT] [VOTE] Release apache-singa-X.Y.Z (release candidate N)
To: <a class="reference external" href="mailto:dev&#37;&#52;&#48;singa&#46;apache&#46;org">dev<span>&#64;</span>singa<span>&#46;</span>apache<span>&#46;</span>org</a></p>
<p>Thanks to everyone who has voted and given their comments. The tally is as follows.</p>
<p>N binding +1s:
&lt;names&gt;</p>
<p>N non-binding +1s:
&lt;names&gt;</p>
<p>No 0s or -1s.</p>
<p>I am delighted to announce that the proposal to release
Apache SINGA X.Y.Z has passed.</p>
<p>I&#8217;ll now start a vote on the general list. Those of you in the IPMC, please recast your vote on the new thread.</p>
<p>{SINGA Team Member Name}</p>
<p>Template for general&#64; voting - results</p>
</div>
<div class="section" id="publish-release">
<h2>Publish release<a class="headerlink" href="#publish-release" title="Permalink to this headline">¶</a></h2>
<p>Template for ANNOUNCING the release</p>
<p>To: <a class="reference external" href="mailto:announce&#37;&#52;&#48;apache&#46;org">announce<span>&#64;</span>apache<span>&#46;</span>org</a>, <a class="reference external" href="mailto:dev&#37;&#52;&#48;singa&#46;apache&#46;org">dev<span>&#64;</span>singa<span>&#46;</span>apache<span>&#46;</span>org</a>
Subject: [ANNOUNCE] Apache SINGA X.Y.Z released</p>
<p>We are pleased to announce that SINGA X.Y.Z is released.</p>
<p>SINGA is a general distributed deep learning platform for training big deep learning models over large datasets. It is designed with an intuitive programming model based on the layer abstraction. SINGA supports a wide variety of popular deep learning models.</p>
<p>The release is available at:
<a class="reference external" href="http://singa.apache.org/downloads.html">http://singa.apache.org/downloads.html</a></p>
<p>The main features of this release include XXX</p>
<p>We look forward to hearing your feedbacks, suggestions, and contributions to the project.</p>
<p>On behalf of the SINGA team,
{SINGA Team Member Name}</p>
</div>
</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="../community/source-repository.html" class="btn btn-neutral float-right" title="Source Repository" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="contribute-docs.html" class="btn btn-neutral float-left" title="How to Contribute to Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  

<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
    <span class="rst-current-version" data-toggle="rst-current-version">
        <span class="fa fa-book"> singa </span>
        v: latest
        <span class="fa fa-caret-down"></span>
    </span>
    <div class="rst-other-versions">
        <dl>
            <dt>Languages</dt>
            <dd><a href=".././index.html">English</a></dd>
            <dd><a href=".././zh/index.html">中文</a></dd>
        </dl>
        <dl>
            <dt>Versions</dt>
            <dd><a href="http://singa.apache.org/v0.3.0/">0.3</a></dd>
            <dd><a href="http://singa.apache.org/v1.1.0/">1.1</a></dd>
        </dl>

    </div>

    <a href="http://www.apache.org"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
    <a href="http://www.apache.org/events/current-event"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
    <a href="http://www.apache.org/foundation/thanks.html"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
    <a href="http://www.apache.org/foundation/sponsorship.html"
        style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
    <a href="http://www.apache.org/licenses/"
        style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
    <br>
    <a href="https://github.com/apache/singa" class="fa fa-github"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c"
        class="fab fa-aws"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.linkedin.com/groups/13550034" class="fa fa-linkedin"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://twitter.com/ApacheSinga" class="fa fa-twitter"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.facebook.com/Apache-SINGA-347284219056544/" class="fa fa-facebook"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.researchgate.net/project/Apache-SINGA" class="fab fa-researchgate"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>

</div>

<a href="https://github.com/apache/singa">
    <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub">
</a>

 


</body>
</html>