<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"MS PGothic","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"MS PGothic","sans-serif";}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1814638156;
        mso-list-type:hybrid;
        mso-list-template-ids:-2048743028 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">William,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I$B!G(Bm not sure I quite understand what you are saying here, but it would be my preference to use the build farm over anything else.  Here are a couple of questions:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Can the build farm build multiple repo branches for a single ROS release?  We typically have a stable release branch (groovy) and a similar branch
 with the latest and greatest (groovy_devel).  Is it possible to build both on the build farm?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Does the build farm monitor repos for changes or is it triggered in the release process and/or when dependencies change?  The ROS-I Jenkins server
 monitors the repo and triggers a build whenever anything has changed.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Can we add metrics or other analysis to the build farm, like Bosch did (see Tully$B!G(Bs email)?  Things like reporting warning, line counts, and code
 coverage could be done without much configuration of the build server (just minor modifications to the build scrips).  Jenkins would have to be reconfigured to display the associated plots/charts as well.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Shaun Edwards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Senior Research Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Manufacturing System Department<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="http://robotics.swri.org">http://robotics.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="http://rosindustrial.swri.org/">http://rosindustrial.swri.org/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="http://ros.swri.org/">http://ros.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe">Join the ROS-Industrial Developers List</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Southwest Research Institute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">210-522-3277<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> ros-users-bounces@code.ros.org [mailto:ros-users-bounces@code.ros.org]
<b>On Behalf Of </b>William Woodall<br>
<b>Sent:</b> Friday, September 06, 2013 1:10 PM<br>
<b>To:</b> User discussions<br>
<b>Subject:</b> Re: [ros-users] Software Status Reporting and Custom Builds<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">So, yes travis-ci is awesome, I use it frequently to build ROS and ROS agnostic things:<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://github.com/wjwwood/serial/blob/master/.travis.yml">https://github.com/wjwwood/serial/blob/master/.travis.yml</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://github.com/ros-perception/perception_pcl/blob/hydro-devel/.travis.yml">https://github.com/ros-perception/perception_pcl/blob/hydro-devel/.travis.yml</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://github.com/ros-infrastructure/bloom/blob/master/.travis.yml">https://github.com/ros-infrastructure/bloom/blob/master/.travis.yml</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">But I would also point out that if you have your repository (containing one or more packages) listed in the `source.yaml` file for a given ROS distribution, like this one:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://github.com/ros/rosdistro/blob/master/hydro/source.yaml">https://github.com/ros/rosdistro/blob/master/hydro/source.yaml</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Then our buildfarm (<a href="http://jenkins.ros.org">jenkins.ros.org</a>) will do "devel" jobs for your packages which build it, run the tests, and report back to you. The benefit of this approach over travis-ci is that for catkin packages
 it already knows how to resolve your dependencies for you, build your code and run the tests (and hook into the test results). So it is a bit more zero configuration than travis-ci for catkin (ROS) packages.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Not saying we shouldn't use travis-ci, I just wanted to make sure people knew about this option.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Sep 6, 2013 at 10:51 AM, Thomas Moulard <<a href="mailto:thomas.moulard@gmail.com" target="_blank">thomas.moulard@gmail.com</a>> wrote:<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">On Fri, Sep 6, 2013 at 10:48 PM, Edwards, Shaun M. <<a href="mailto:sedwards@swri.org">sedwards@swri.org</a>> wrote:<br>
> All,<br>
><br>
><br>
><br>
> I looked at Travis briefly but it seemed to be set up for stand-alone<br>
> libraries or those with minimal dependencies.  I assume $B!H(Binstalling$B!I(B ROS was<br>
> not an option and building ROS packages would be impossible.  Am I missing<br>
> something?<o:p></o:p></p>
</div>
<p class="MsoNormal">Travis is providing you with a Ubuntu 12.04 virtual machine at each build.<br>
Starting from that, there is no reason to not be able to install ROS on it and<br>
check your build.<br>
The tricky part is that they decide whether or not your use is "fair" or not.<br>
Without notifying them first a full switch of the ROS community is therefore<br>
risky. AFAIK if your build takes less than 30 minutes they are fine.<br>
<br>
So for vision_visp I am fine:<br>
<a href="https://travis-ci.org/laas/vision_visp/branches" target="_blank">https://travis-ci.org/laas/vision_visp/branches</a><br>
<br>
As for how to do it, it is exactly what you would do on your own machine.<br>
The .travis.yml call the .travis/before_install script which setup the apt<br>
repositories, get the key and run apt-get install.<br>
<a href="https://github.com/stack-of-tasks/redundant_manipulator_control/blob/master/.travis.yml" target="_blank">https://github.com/stack-of-tasks/redundant_manipulator_control/blob/master/.travis.yml</a><br>
<a href="https://github.com/stack-of-tasks/redundant_manipulator_control/blob/master/.travis/before_install" target="_blank">https://github.com/stack-of-tasks/redundant_manipulator_control/blob/master/.travis/before_install</a><br>
<br>
Best,<br>
<span class="hoenzb"><span style="color:#888888">--</span></span><span style="color:#888888"><br>
<span class="hoenzb">Thomas Moulard<span lang="JA">$B!J%`%i!<!!%H%^!K(B</span></span><br>
<span class="hoenzb">CNRS-AIST JRL (Joint Robotics Laboratory), UMI3218/CRT, Tsukuba, Japan</span><br>
<span class="hoenzb"><a href="http://thomas.moulard.net" target="_blank">http://thomas.moulard.net</a> | Tel:
<a href="tel:%2B81%20%280%2980-9436-1985">+81 (0)80-9436-1985</a> | GPG Key Id:</span><br>
<span class="hoenzb">516FC68F31496D58</span><br>
<span class="hoenzb">Add me on LinkedIn: <a href="http://www.linkedin.com/in/moulard" target="_blank">
http://www.linkedin.com/in/moulard</a></span></span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="http://lists.ros.org/mailman/listinfo/ros-users" target="_blank">http://lists.ros.org/mailman/listinfo/ros-users</a><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <br>
William Woodall<o:p></o:p></p>
<div>
<p class="MsoNormal">ROS Development Team<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="mailto:william@osrfoundation.org" target="_blank">william@osrfoundation.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://williamjwoodall.com/" target="_blank">http://williamjwoodall.com/</a><o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>