<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to HowToMakeARelease</title><link>https://sourceforge.net/p/sutekh/wiki/HowToMakeARelease/</link><description>Recent changes to HowToMakeARelease</description><atom:link href="https://sourceforge.net/p/sutekh/wiki/HowToMakeARelease/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 10 Jul 2014 11:45:22 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sutekh/wiki/HowToMakeARelease/feed" rel="self" type="application/rss+xml"/><item><title>HowToMakeARelease modified by Neil Muller</title><link>https://sourceforge.net/p/sutekh/wiki/HowToMakeARelease/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="how-to-make-a-release"&gt;How to Make a Release&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Check that the CHANGELOG and version in the branch are up to date. &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tag the revision of the stable branch which is being released using a command like: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;svn&lt;/span&gt; &lt;span class="n"&gt;cp&lt;/span&gt; \
  &lt;span class="nl"&gt;https:&lt;/span&gt;&lt;span class="c1"&gt;//sutekh.svn.sourceforge.net/svnroot/sutekh/releases/stable-branches/&amp;lt;stable-branch, e.g. 0.8.x&amp;gt; \&lt;/span&gt;
&lt;span class="c1"&gt;  https://sutekh.svn.sourceforge.net/svnroot/sutekh/releases/stable-tags/&amp;lt;release, e.g. 0.8.2&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get a working copy of the new tag by running, for example: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;svn&lt;/span&gt; &lt;span class="n"&gt;up&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Change directory to the new tag folder. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Register the new release with Cheese Shop: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="k"&gt;register&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build eggs for at least Python 2.7, Python 2.6, Python 2.5 and Python 2.4 using something like: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python2&lt;/span&gt;&lt;span class="mf"&gt;.4&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;bdist_egg&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt;
 &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python2&lt;/span&gt;&lt;span class="mf"&gt;.5&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;bdist_egg&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt;
 &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python2&lt;/span&gt;&lt;span class="mf"&gt;.6&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;bdist_egg&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt;
 &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python2&lt;/span&gt;&lt;span class="mf"&gt;.7&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;bdist_egg&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt;
 &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;python2&lt;/span&gt;&lt;span class="mf"&gt;.7&lt;/span&gt; &lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;sdist&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;inside the checkout of the new tag. The 'upload' part sends the eggs to the Cheese Shop. Currently the bdist_egg or sdist and upload need to be part of the same setup.py command. Setuptools may fix this at some point. &lt;br /&gt;
  * Build debs for Ubuntu using and upload to ppa: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;     &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;makedeb&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;signer&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;deb_dist&lt;/span&gt;&lt;span class="o"&gt;/*&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;changes&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="n"&gt;dput&lt;/span&gt; &lt;span class="n"&gt;ppa&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;staging&lt;/span&gt; &lt;span class="s"&gt;"$f"&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;done&lt;/span&gt;
     &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="n"&gt;when&lt;/span&gt; &lt;span class="n"&gt;happy&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;uploading&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;staging&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;upload&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt; &lt;span class="n"&gt;ppa&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
     &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;deb_dist&lt;/span&gt;&lt;span class="o"&gt;/*&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;changes&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="n"&gt;dput&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="n"&gt;ppa&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ppa&lt;/span&gt; &lt;span class="s"&gt;"$f"&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;done&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Build RPMs: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;makerpm&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build Windows installer using: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;wine&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;py2exe&lt;/span&gt;
  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;makensis&lt;/span&gt; &lt;span class="n"&gt;sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;py2exe&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nsi&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upload files to Sourceforge: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create new release folder on Sourceforge, e.g. "Sutekh 0.8.0rc1 (stable)". &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run sf-upload.sh for each file you want to release: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="nx"&gt;.&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;sf&lt;/span&gt;&lt;span class="na"&gt;-upload.sh&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;username&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nb"&gt;version&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e.g.&lt;/span&gt; &lt;span class="mf"&gt;0.8.0&lt;/span&gt;&lt;span class="nx"&gt;rc1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e.g.&lt;/span&gt; &lt;span class="nx"&gt;dist&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Sutekh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;0.8.0&lt;/span&gt;&lt;span class="nx"&gt;rc1&lt;/span&gt;&lt;span class="na"&gt;-py2.7.egg&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Files that should be released include the source tar ball, eggs, RPMs and the Windows installer. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Write something for the release notes and put them in a file named README.rst. &lt;/li&gt;
&lt;li&gt;There is a template in &lt;code&gt;trunk/docs/README-template.rst&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;Copy and paste the relevant parts of the changelog into README.rst. &lt;/li&gt;
&lt;li&gt;Upload README.rst file to the release folder. &lt;/li&gt;
&lt;li&gt;Mark the Windows installer as the default download for Windows. &lt;/li&gt;
&lt;li&gt;Update the &lt;a class="" href="/p/sutekh/wiki/ReleaseHistory"&gt;release history&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Update the &lt;a class="" href="/p/sutekh/wiki/Home"&gt;front page&lt;/a&gt; if appropriate. &lt;/li&gt;
&lt;li&gt;Send out release announcements: &lt;/li&gt;
&lt;li&gt;There is a template in &lt;code&gt;trunk/docs/ANNOUNCE-template.rst&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Places to announce to: &lt;/li&gt;
&lt;li&gt;Mailing lists: sutekh-users, sutekh-devel, vtes-ct and vtes-gt. &lt;/li&gt;
&lt;li&gt;VEKN.net &lt;a class="" href="http://vekn.net/index.php/forum/10-news-and-announcements" rel="nofollow"&gt;announcements forum&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Jyhad newsgroup. &lt;/li&gt;
&lt;li&gt;Google+, Facebook, Twitter. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neil Muller</dc:creator><pubDate>Thu, 10 Jul 2014 11:45:22 -0000</pubDate><guid>https://sourceforge.netb361e551c805805292d79901f9ee8c938806f443</guid></item></channel></rss>