[ros-users] Software Status Reporting and Custom Builds

Mike Purvis mpurvis at clearpathrobotics.com
Fri Sep 6 16:23:18 UTC 2013


Hi Florian,

Here's the travis config for the um6 driver
package<https://github.com/clearpathrobotics/um6/blob/hydro-devel/.travis.yml>Ryan
mentioned:


language: cpp
compiler: gcc

git:
  depth: 0

before_install:
  - sudo pip install cpplint rosdep
  - sudo rosdep init && rosdep update
  - sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise
main" > /etc/apt/sources.list.d/ros-latest.list'
  - wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
  - sudo apt-get update -qq
install:
  - rosdep install --from-paths .. --ignore-src --rosdistro hydro
  - source /opt/ros/hydro/setup.bash
  - mkdir -p ~/catkin_ws/src && pushd ~/catkin_ws
  - catkin_init_workspace src
  - ln -s `eval echo $(dirs +1)` src/
script:
  - catkin_make all run_tests um6_cpplint


Note that it's very slow on the first build, but successive ones are fast,
as Travis caches apt packages between builds. The install section sets up a
catkin workspace, and then symlinks the package into it for building. This
approach seems to work well. A similar config got things rolling on drone.io,
which we're evaluating as our internal code is on bitbucket.

Anyhow, Travis is probably still not suitable for system-level tests. I
haven't tried actual rostest-based tests with it, but for things like
drivers and helpers, it's terrific. I don't always watch this list closely,
so if you have any feedback about it, please CC me directly.

At some point, it would be worth engaging with Travis to see if we could
contribute a ros "language" which would do more of this stuff for the user,
and would support testing a common master branch across multiple releases,
etc. But even the current state of affairs is still pretty sweet.

Mike



On 6 September 2013 09:56, Weißhardt, Florian <
Florian.Weisshardt at ipa.fraunhofer.de> wrote:

> Hi all,****
>
> ** **
>
> I think it should be possible to customize travis to do build on any ROS
> package. Travis offers good support for custom scripts for the pre-install,
> install, pre-build, build and post-build steps. In my opinion the following
> steps would be necessary to do a generic travis build:****
>
> Pre-install:****
>
> **-          **Add ros package repository to sources list****
>
> Install:****
>
> **-          **Resolve ros and non-ros dependencies as done in the
> release pipeline scripts****
>
> **-          **Install or checkout the dependencies****
>
> Pre-build:****
>
> **-          **Configure ROS environment (rosbuild or catkin workspace)***
> *
>
> Build:****
>
> **-          **Do the build (“make” or catkin_make)****
>
> **-          **Execute tests****
>
> Post-build:****
>
> **-          **Generate email notification based on build and test result*
> ***
>
> ** **
>
> I think a lot of the already existing scripts can be reused for that
> purpose. Other opinions?****
>
> ** **
>
>   Florian****
>
> ** **
>
> ** **
>
> *Von:* ros-users-bounces at code.ros.org [mailto:
> ros-users-bounces at code.ros.org] *Im Auftrag von *Edwards, Shaun M.
> *Gesendet:* Freitag, 6. September 2013 15:49
> *An:* User discussions
> *Betreff:* Re: [ros-users] Software Status Reporting and Custom Builds****
>
> ** **
>
> All,****
>
>  ****
>
> I looked at Travis briefly but it seemed to be set up for stand-alone
> libraries or those with minimal dependencies.  I assume “installing” ROS
> was not an option and building ROS packages would be impossible.  Am I
> missing something?****
>
>  ****
>
> Shaun Edwards****
>
> Senior Research Engineer****
>
> Manufacturing System Department****
>
>  ****
>
>  ****
>
> http://robotics.swri.org****
>
> http://rosindustrial.swri.org/****
>
> http://ros.swri.org****
>
> Join the ROS-Industrial Developers List<https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe>
> ****
>
> Southwest Research Institute****
>
> 210-522-3277****
>
>  ****
>
> *From:* ros-users-bounces at code.ros.org [
> mailto:ros-users-bounces at code.ros.org <ros-users-bounces at code.ros.org>] *On
> Behalf Of *Adolfo Rodríguez Tsouroukdissian
> *Sent:* Friday, September 06, 2013 2:50 AM
> *To:* User discussions
> *Subject:* Re: [ros-users] Software Status Reporting and Custom Builds****
>
>  ****
>
>  ****
>
>  ****
>
> On Fri, Sep 6, 2013 at 4:59 AM, Thomas Moulard <thomas.moulard at gmail.com>
> wrote:****
>
> On Fri, Sep 6, 2013 at 11:29 AM, Edwards, Shaun M. <sedwards at swri.org>
> wrote:
> > Looks like the discussion has died down.  I agree with Adolfo's changes
> and
> > will incorporate them.  Unfortunately, I didn't hear an overwhelming
> > response that the entire ROS community would find the status reporting
> > useful.  I had hoped to incorporate the status symbols into the broader
> ROS
> > wiki, instead of the "Industrial" sub pages.  For now I will leave the
> > status descriptions where they are and mark the ROS-Industrial specific
> > packages appropriately.  Maybe over time we will see if others choose to
> use
> > them.****
>
> Sorry, I am arriving a bit late but so far the easiest way I found to
> validate the projects
> I maintain is through GitHub+Travis.
>
> By putting a badge in your root README.md file, it becomes easy to see
> if the stack
> is working fine or not:
> https://github.com/laas/vision_visp
> (change the branch to fuerte or groovy to see release per release status)
>
> You can have different .travis.yml file on different branches so that
> you can check
> for all currently maintained ROS versions.
>
> The killer feature compared to the usual buildfarm is that it
> annotated automatically
> pull requests with the CI status so that you can see if you can merge
> the pull request
> safely or not.****
>
>  ****
>
> Great that you bring this up Thomas. Another tool that I've seen you're
> using is coveralls <https://coveralls.io>, which adds much needed
> visibility to coverage information (free for open source projects).****
>
>
> As for the CLA, I am currently using on another project the one from
> the Canonical
> Harmony project:
> http://www.harmonyagreemeI'm junts.org/<http://www.harmonyagreements.org/>
> ...and I keep the signature on echosign:
> https://www.echosign.adobe.com/en/home.html
>
> See the CONTRIBUTING.md of this project for instance:
> https://github.com/roboptim/roboptim-core/blob/master/CONTRIBUTING.md****
>
>  ****
>
> I wasn't familiar with CLAs until this thread. It's good to start raising
> awareness on these things.****
>
> Thanks,****
>
> Adolfo.****
>
>
> Best,
> --
> Thomas Moulard****
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> http://lists.ros.org/mailman/listinfo/ros-users****
>
>  ****
>
>
>
> --
> Adolfo Rodríguez Tsouroukdissian
> Senior robotics engineer
> adolfo.rodriguez at pal-robotics.com
> http://www.pal-robotics.com
>
> PAL ROBOTICS S.L
> c/ Pujades 77-79, 4º4ª
> 08005 Barcelona, Spain.
> Tel. +34.93.414.53.47
> Fax.+34.93.209.11.09
> Skype: adolfo.pal-robotics
> Facebook <http://www.facebook.com/palrobotics1> - Twitter<http://twitter.com/#%21/palrobotics>- PAL
> Robotics YouTube Channel <http://www.youtube.com/user/PALRobotics>
>
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
> contener información privilegiada y/o confidencial que está dirigida
> exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
> destinatario indicado, o el empleado encargado de su entrega a dicha
> persona, por favor, notifíquelo inmediatamente y remita el mensaje original
> a la dirección de correo electrónico indicada. Cualquier copia, uso o
> distribución no autorizados de esta comunicación queda estrictamente
> prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
> contain confidential information which is privileged and intended only for
> the individual or entity to whom they are addressed.  If you are not the
> intended recipient, you are hereby notified that any disclosure, copying,
> distribution or use of this e-mail and/or accompanying document(s) is
> strictly prohibited.  If you have received this e-mail in error, please
> immediately notify the sender at the above e-mail address. ****
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> http://lists.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20130906/cedcdfde/attachment.html>


More information about the ros-users mailing list