blob: f390ae630f410e281e7f2345cd0c6fe7d980a72f [file] [log] [blame]
<!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]-->
<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">
<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=""
integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
.fa:hover {
opacity: 0.7;
.fab:hover {
opacity: 0.7;
<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"/>
<div class="version">
<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" />
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<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>
<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>
<p class="caption"><span class="caption-text">Community</span></p>
<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>
<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>
<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">
<div role="main" class="document" itemscope="itemscope" itemtype="">
<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=""></a></p>
<dl class="docutils">
<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=""></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>
<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=""></a></p>
<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>
<div><ul class="simple">
<li>Use this template: <a class="reference external" href=""></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=""></a></li>
<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>
<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=""></a></li>
<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>
<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>
<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">
<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:</dt>
<dd><ul class="first last simple">
<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 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 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=""></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=""></a>/{Apache ID of the Release Manager}.asc</p>
<p>and the signature file is:
<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>{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 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 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 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:
<p>N non-binding +1s:
<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 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=""></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 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 role="contentinfo">
&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.
Built with <a href="">Sphinx</a> using a <a href="">theme</a> provided by <a href="">Read the Docs</a>.
<script type="text/javascript">
jQuery(function () {
<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>
<div class="rst-other-versions">
<dd><a href=".././index.html">English</a></dd>
<dd><a href=".././zh/index.html">中文</a></dd>
<dd><a href="">0.3</a></dd>
<dd><a href="">1.1</a></dd>
<a href=""
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
<a href=""
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
<a href=""
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
<a href=""
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
<a href=""
style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
<a href="" class="fa fa-github"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href=""
class="fab fa-aws"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="" class="fab fa-docker"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="" class="fa fa-linkedin"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="" class="fa fa-twitter"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="" class="fa fa-facebook"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="" class="fab fa-researchgate"
style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
src="" alt="Fork me on GitHub">