/industrial_ci

Easy continuous integration repository for ROS repositories

Primary LanguageShellApache License 2.0Apache-2.0

Industrial CI

CI (Continuous Integration) configuration for ROS (Robot Operating System).

Other than the brief introduction in this page, you can also check the detailed doc here.

This package contains CI (Continuous Integration) configuration that any ROS-powered packages can commonly use. Some notable feature:

  • Checks if your package builds, installs without issues. If unit/system tests are defined run them. ROS Prerelease Test can optionally be run.
  • Proven to cover the general requirements of the ROS-based robotics repositories. Easily configurable.
  • Users can add custom pre/post processes.
  • Covers ROS Indigo, Jade, Kinetic distribution.
  • As of January 2017, this repo provides configuration for Travis CI only, although it should be easily deployed from other CI services.

For a brief overall introduction, you could also check a presentation:

With a few steps, you can start in your client repository using CI confiurations stored in industrial_ci.

  1. Activate CI on your github repository.
  1. In .travis.yml file in your client repo, add in "install" section a sentence git clone https://github.com/ros-industrial/industrial_ci.git .ci_config, like below:
install:
  - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
script:
  - .ci_config/travis.sh
  • Note: The name .ci_config is NO longer REQUIRED for the cloned folder starting version 0.3.2; you can pick any name as long as the folder is hidden (by being prepended by ".").

For most of the cases, For development branch intended for ROS Indigo:

For development branch intended for ROS Indigo and newer distros:

For development branch intended for ROS Kinetic:

For more complexed example:

  • .travis.yml from the same repo. You can see how options are used.

There might not an easy way to precisely count how many repositories out there are using industrial_ci. Counting that number isn't even our priority at all, but we're often simply curious. Here's some ways that give us some clues for the usage metrics:

EoF