On Fri, May 2, 2008 at 12:02 AM, Joachim Steiger &lt;<a href="mailto:roh@openmoko.org">roh@openmoko.org</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Bobby Martin wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Thu, May 1, 2008 at 11:50 AM, Thomas Wood &lt;<a href="mailto:thomas@openedhand.com">thomas@openedhand.com</a><br>
</div><div class="Ih2E3d">&gt; &lt;mailto:<a href="mailto:thomas@openedhand.com">thomas@openedhand.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; Well, there is <a href="http://buildhost.openmoko.org" target="_blank">buildhost.openmoko.org</a><br>
</div>&gt; &nbsp; &nbsp; &lt;<a href="http://buildhost.openmoko.org" target="_blank">http://buildhost.openmoko.org</a>&gt; which builds images nightly. I&#39;ve<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp; been asking for the toolchain to be fixed and updated and I believe<br>
&gt; &nbsp; &nbsp; Julian has this on his TODO list.<br>
&gt;<br>
&gt; &nbsp; &nbsp; Regards,<br>
&gt;<br>
&gt; &nbsp; &nbsp; Thomas<br>
&gt;<br>
&gt;<br>
&gt; Thanks for pointing that out.<br>
&gt;<br>
&gt; Does it apply a label to builds that succeed? &nbsp;Is there documentation of<br>
&gt; what this hypothetical label might be, and also documentation of the<br>
&gt; build process that <a href="http://buildhost.openmoko.org" target="_blank">buildhost.openmoko.org</a><br>
</div>&gt; &lt;<a href="http://buildhost.openmoko.org" target="_blank">http://buildhost.openmoko.org</a>&gt; uses?<br>
<div class="Ih2E3d">&gt;<br>
&gt; (Hrm, reading over that, it looks like I&#39;m trying to be sarcastic with<br>
&gt; the thanks. &nbsp;I&#39;m definitely not! &nbsp;The thanks, and the questions, are<br>
&gt; real, not rhetorical.)<br><br>
</div>i do not really get what you mean by labels.<br>
when buildhost successfully finished a build there is a new image.<br>
else, there is not.<br>
if it cannot compile all dependencies then it logically cannot package it.<br>
<br>
i think i know what you really want in the end.<br>
a full CI representation of what buildhost does build and what not.<br>
<br>
i have found <a href="http://bitten.edgewall.org/" target="_blank">http://bitten.edgewall.org/</a> recently and since we are<br>
currently in the process of moving to trac it is very interesting for me.<br>
<br>
whats missing is the glue between that and the openembedded build system.<br>
and to make it really usefull at all we would need unit tests for all<br>
&#39;packages&#39;, not only a &#39;built something&#39; &#39;did report exit=!0&#39;<br>
<br>
yes i want that. but let us finish work on getting trac first please ;)<br>
<br>
if you know your way around trac, python and OE i am happy about<br>
everyone who can help me there.</blockquote><div><br>What I mean by a label (sometimes called a tag) is that your build process uses<br>your revision control systems&#39; commands to apply a label to all files before the<br>
build process starts.&nbsp; In svn, you use the svn copy command to tag files, like so:<br><pre class="screen">svn copy file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/building -m &quot;tag tree&quot;</pre> </div></div>
(see <a href="http://svnbook.red-bean.com/en/1.1/re07.html">http://svnbook.red-bean.com/en/1.1/re07.html</a>)<br clear="all"><br>Unfortunately, I think OM uses three different repositories (svn, git, mtn) so you would<br>
issue at least three different commands to apply the label.&nbsp; Then when you&#39;re done with<br>the build, you would relabel it with a build-successful tag, e.g.:<br><pre class="screen">svn copy file:///tmp/repos/test/tags/building file:///tmp/repos/test/tags/build-success-2008-05-02-13-47 -m &quot;tag tree&quot;</pre>
 (If the build happened at 13:47 on 2008/05/02)<br><br>Then you run your tests and relabel with test-success-2008-05-02-13-47 if those pass.&nbsp; When<br>the build is done, you delete the building tag so you can re-use it for the next build.<br>
<br>You probably also want to tag those same files with build-success-latest and test-success-latest.<br>That way people can pull that label from the repository and know what to expect.&nbsp; You can also<br>look at the labels and see when good builds happened and when things broke.<br>
<br>A good CI system will also email some set list of people when the build is bad with the files that<br>changed since the last good build (this set ideally including the list of people who checked<br>those files in) so the build tends to get fixed quickly.<br>
<br>Being able to retrieve the build products from good builds is obviously very important,<br>but it&#39;s not necessarily very helpful for people doing development work.&nbsp; For them,<br>being able to get the very latest code from the project they&#39;re working on, and the<br>
latest &quot;good&quot; code from all projects it depends on, is typically what they want.<br><br>I have used trac a bit, but probably not enough to be helpful without studying up on it.<br>I wasn&#39;t aware it provided much Continuous Integration support.&nbsp; I will do some research<br>
on it.<br><br>Thanks!<br>Bobby<br><br>-- <br>If it doesn&#39;t make you smile, you&#39;re doing something wrong.