<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Automating Release Tasks</title>
	<atom:link href="http://paul-m-jones.com/archives/204/feed" rel="self" type="application/rss+xml" />
	<link>http://paul-m-jones.com/archives/204?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automating-release-tasks</link>
	<description>It&#039;s not enough to be smart; you have to actually know things.</description>
	<lastBuildDate>Wed, 08 Feb 2012 21:50:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24108</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Fri, 14 Apr 2006 00:08:31 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24108</guid>
		<description>Hi Eric -- yes, for about 30 seconds.  Then my allergy to XML kicked in.  ;-)</description>
		<content:encoded><![CDATA[<p>Hi Eric &#8212; yes, for about 30 seconds.  Then my allergy to XML kicked in.  ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Coleman</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24102</link>
		<dc:creator>Eric Coleman</dc:creator>
		<pubDate>Thu, 13 Apr 2006 21:31:48 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24102</guid>
		<description>Did you consider using Phing?</description>
		<content:encoded><![CDATA[<p>Did you consider using Phing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bien batido y revuelto &#187; Ã‰sta va de PHP</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24045</link>
		<dc:creator>Bien batido y revuelto &#187; Ã‰sta va de PHP</dc:creator>
		<pubDate>Wed, 12 Apr 2006 16:13:48 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24045</guid>
		<description>[...] Seguimos con un proceso automatizado para generar releases del software escrito por el autor de  (Â¡seguimos con los frameworks!) en el que explica como ha desarrollado un sistema para crear releases de su software de forma automÃ¡tica (algo mÃ¡s complejo que hacer un tar.gz ;-) ) [...]</description>
		<content:encoded><![CDATA[<p>[...] Seguimos con un proceso automatizado para generar releases del software escrito por el autor de  (Â¡seguimos con los frameworks!) en el que explica como ha desarrollado un sistema para crear releases de su software de forma automÃ¡tica (algo mÃ¡s complejo que hacer un tar.gz ;-) ) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24029</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Wed, 12 Apr 2006 02:47:06 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24029</guid>
		<description>Hi Rick --

That&#039;s a good idea (re: run tests are part of the release script).  Right now I just make sure they all run before I do the release. But it would be easy to add a a testing script that does the test-run and only generates output on failures, then it can hook it into the release process the same way &quot;svn status&quot; does.  (I already have &quot;all.php&quot; to run all the tests, but it generates output.)</description>
		<content:encoded><![CDATA[<p>Hi Rick &#8211;</p>
<p>That&#8217;s a good idea (re: run tests are part of the release script).  Right now I just make sure they all run before I do the release. But it would be easy to add a a testing script that does the test-run and only generates output on failures, then it can hook it into the release process the same way &#8220;svn status&#8221; does.  (I already have &#8220;all.php&#8221; to run all the tests, but it generates output.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24028</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Wed, 12 Apr 2006 01:40:57 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24028</guid>
		<description>Hi Ivo -- Good comments.

As far as release candidates are concerned, these are only alpha-stability releases, so I&#039;m OK with lots of little releases.  If I were already at &quot;stable&quot; you can bet I&#039;d be making RCs instead.

As far as the upload, I&#039;ve not taken the time to see how to push that up to the PEAR channel server yet; it&#039;s a trivial task, so I&#039;m not too concerned about it (yet).</description>
		<content:encoded><![CDATA[<p>Hi Ivo &#8212; Good comments.</p>
<p>As far as release candidates are concerned, these are only alpha-stability releases, so I&#8217;m OK with lots of little releases.  If I were already at &#8220;stable&#8221; you can bet I&#8217;d be making RCs instead.</p>
<p>As far as the upload, I&#8217;ve not taken the time to see how to push that up to the PEAR channel server yet; it&#8217;s a trivial task, so I&#8217;m not too concerned about it (yet).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24027</link>
		<dc:creator>Rick</dc:creator>
		<pubDate>Wed, 12 Apr 2006 01:33:22 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24027</guid>
		<description>Thanks for the notes. I have been going through the book &quot;Practices of an Agile Developer&quot; and was wondering how a system could auto-build php rather than compiling Java apps and such. Looks like I have some pear reading to do.

On a side note as I&#039;ve also started doing tests, do you integrate the testing into the release process or just make sure they all go before initiating the new build?</description>
		<content:encoded><![CDATA[<p>Thanks for the notes. I have been going through the book &#8220;Practices of an Agile Developer&#8221; and was wondering how a system could auto-build php rather than compiling Java apps and such. Looks like I have some pear reading to do.</p>
<p>On a side note as I&#8217;ve also started doing tests, do you integrate the testing into the release process or just make sure they all go before initiating the new build?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24026</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Wed, 12 Apr 2006 00:36:31 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24026</guid>
		<description>Greg, you&#039;re right, it does work as you say.  I must have been doing something wrong in my earlier experiments with addGlobalReplacement().  I have updated the entry to reflect your advice; thanks.  :-)</description>
		<content:encoded><![CDATA[<p>Greg, you&#8217;re right, it does work as you say.  I must have been doing something wrong in my earlier experiments with addGlobalReplacement().  I have updated the entry to reflect your advice; thanks.  :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Beaver</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24020</link>
		<dc:creator>Greg Beaver</dc:creator>
		<pubDate>Tue, 11 Apr 2006 22:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24020</guid>
		<description>[quote]The PEAR_PackageFileManager has a great auto-replacement utility built in. It can look through the source code at installation time and replace certain keywords, such as â€œ@package_version@â€, with the proper value for that particular installation.

But thereâ€™s a small problem with that for non-PEAR users. Because the replacements happen at installation-time, not at package-time, it means... [/quote]

This is incorrect, for package-info and php-const replacements, all replacements happen at packaging time, but *only* for package.xml 2.0-based packages (which Solar is).  Incidentally, this feature is internal to PEAR, PEAR_PackageFileManager simply uses it.  If this isn&#039;t happening, we have a problem.</description>
		<content:encoded><![CDATA[<p>[quote]The PEAR_PackageFileManager has a great auto-replacement utility built in. It can look through the source code at installation time and replace certain keywords, such as â€œ@package_version@â€, with the proper value for that particular installation.</p>
<p>But thereâ€™s a small problem with that for non-PEAR users. Because the replacements happen at installation-time, not at package-time, it means&#8230; [/quote]</p>
<p>This is incorrect, for package-info and php-const replacements, all replacements happen at packaging time, but *only* for package.xml 2.0-based packages (which Solar is).  Incidentally, this feature is internal to PEAR, PEAR_PackageFileManager simply uses it.  If this isn&#8217;t happening, we have a problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivo Jansch</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24019</link>
		<dc:creator>Ivo Jansch</dc:creator>
		<pubDate>Tue, 11 Apr 2006 21:32:46 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24019</guid>
		<description>That should&#039;ve been &quot;./release.sh tagname where tagname is the CVS tag...&quot; but I had lt/gt&#039;s around it which wordpress decided to strip :)</description>
		<content:encoded><![CDATA[<p>That should&#8217;ve been &#8220;./release.sh tagname where tagname is the CVS tag&#8230;&#8221; but I had lt/gt&#8217;s around it which wordpress decided to strip :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivo Jansch</title>
		<link>http://paul-m-jones.com/archives/204/comment-page-1#comment-24018</link>
		<dc:creator>Ivo Jansch</dc:creator>
		<pubDate>Tue, 11 Apr 2006 21:31:44 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=204#comment-24018</guid>
		<description>For ATK, I&#039;ve automated all but writing the release notes. I just run ./release.sh  where  is the CVS tag I&#039;ve put on the repository to mark the release. The upload is handled using scp. 

If you are finding yourself releasing 5 releases in 7 days, you might want to consider working with release candidates (people that want stable releases can wait one or two rc&#039;s before downloading the final release) and/or automated nightly builds that people can download.

Release candidates is useful if you find yourself often fixing bugs right after a release. It ensures more stability for &#039;actual&#039; releases, and you can announce the rc&#039;s to a smaller audience.

Nightly builds is useful if you commit a lot of features that users want sooner than the next stable release.</description>
		<content:encoded><![CDATA[<p>For ATK, I&#8217;ve automated all but writing the release notes. I just run ./release.sh  where  is the CVS tag I&#8217;ve put on the repository to mark the release. The upload is handled using scp. </p>
<p>If you are finding yourself releasing 5 releases in 7 days, you might want to consider working with release candidates (people that want stable releases can wait one or two rc&#8217;s before downloading the final release) and/or automated nightly builds that people can download.</p>
<p>Release candidates is useful if you find yourself often fixing bugs right after a release. It ensures more stability for &#8216;actual&#8217; releases, and you can announce the rc&#8217;s to a smaller audience.</p>
<p>Nightly builds is useful if you commit a lot of features that users want sooner than the next stable release.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

