<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Build-always vs Build-on-checkin (continued)</title>
	<link>http://oduinn.com/2008/01/17/build-always-vs-build-on-checkin-continued/</link>
	<description>...my CyberSoapBox!</description>
	<pubDate>Mon, 06 Oct 2008 22:06:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>

	<item>
		<title>by: Stuart</title>
		<link>http://oduinn.com/2008/01/17/build-always-vs-build-on-checkin-continued/#comment-359</link>
		<pubDate>Fri, 18 Jan 2008 13:22:17 +0000</pubDate>
		<guid>http://oduinn.com/2008/01/17/build-always-vs-build-on-checkin-continued/#comment-359</guid>
					<description>I may be repeating something lots of other people have suggested here, in which case I apologize.

One of your prior posts mentioned that one of the problems with build-on-checkin is that it doesn't flag changes that aren't triggered by a checkin - hardware problems, build environment changes, etc. Worse, it incorrectly flags those problems as having been caused by the next checkin that happens afterwards, which could cause all manner of headaches for the poor unwitting developer who checked in a perfectly good change and is now on the hook for something they can do nothing about.

One way around that would be to have the build machines build all the time, just like they do now, BUT if a checkin happens mid-build (and at least one full build has completed since the LAST checkin), throw away the build in progress, kill all the processes, and start over. Then you still get the instant triggering of a new build on checkin, but problems that occur while the machines are idle don't get masked.

The only downside is that it's less eco-friendly to have the machines constantly working hard, compared to having them idle when not "needed".

Is that remotely feasible?</description>
		<content:encoded><![CDATA[<p>I may be repeating something lots of other people have suggested here, in which case I apologize.</p>
<p>One of your prior posts mentioned that one of the problems with build-on-checkin is that it doesn&#8217;t flag changes that aren&#8217;t triggered by a checkin - hardware problems, build environment changes, etc. Worse, it incorrectly flags those problems as having been caused by the next checkin that happens afterwards, which could cause all manner of headaches for the poor unwitting developer who checked in a perfectly good change and is now on the hook for something they can do nothing about.</p>
<p>One way around that would be to have the build machines build all the time, just like they do now, BUT if a checkin happens mid-build (and at least one full build has completed since the LAST checkin), throw away the build in progress, kill all the processes, and start over. Then you still get the instant triggering of a new build on checkin, but problems that occur while the machines are idle don&#8217;t get masked.</p>
<p>The only downside is that it&#8217;s less eco-friendly to have the machines constantly working hard, compared to having them idle when not &#8220;needed&#8221;.</p>
<p>Is that remotely feasible?
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
