Skip to content

Continuous Integration for ROS Kinetic on Ubuntu 16.04, forked from moveit_ci

Notifications You must be signed in to change notification settings

UBC-Snowbots/moveit_ci

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoveIt Continous Integration

Common Travis CI configuration for MoveIt! project

Authors: Dave Coleman, Isaac I. Y. Saito, Robert Haschke

Modified By: Gareth Ellis (For UBC Snowbots)

  • Uses Docker for all Distros
    • Travis does not currently support Ubuntu 16.04
    • Based on OSRF's pre-build ROS Docker container to save setup time
    • Uses MoveIt's pre-build Docker container to additionally save setup time
  • Clean Travis log files - looks similiar to a regular .travis.yml file
  • Runs tests for the current repo, e.g. if testing moveit_core only runs tests for moveit_core
  • Builds into install space
  • Runs Clang Format over any changes made

Usage

Create a .travis.yml file in the base of you repo similar to:

# This config file for Travis CI utilizes https://github.com/UBC-Snowbots/moveit_ci/ package.
sudo: required
dist: trusty
services:
  - docker
language: generic
compiler:
  - gcc
notifications:
  email:
    recipients:
        gareth.ellis0@gmail.com
env:
  matrix:
    - ROS_DISTRO=kinetic  ROS_REPO=ros              UPSTREAM_WORKSPACE=https://raw.githubusercontent.com/UBC-Snowbots/IGVC-2017/travis_ci_testing/.rosinstall
    - ROS_DISTRO=kinetic  UPSTREAM_WORKSPACE=https://raw.githubusercontent.com/UBC-Snowbots/IGVC-2017/travis_ci_testing/.rosinstall
    - TEST_CLANG_FORMAT=TRUE ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=https://raw.githubusercontent.com/UBC-Snowbots/IGVC-2017/$TRAVIS_BRANCH/.rosinstall
matrix:
  allow_failures:
      - env: ROS_DISTRO=kinetic  ROS_REPO=ros              UPSTREAM_WORKSPACE=https://raw.githubusercontent.com/UBC-Snowbots/IGVC-2017/travis_ci_testing/.rosinstall
before_script:
    # Below line is not being used, as we are using a forked version
#    - git clone -q https://github.com/ros-planning/moveit_ci.git .moveit_ci
    - git clone -q https://github.com/UBC-Snowbots/moveit_ci .moveit_ci
script:
  - source .moveit_ci/travis.sh

Configurations

  • ROS_DISTRO: (required) which version of ROS i.e. kinetic
  • ROS_REPO: (default: ros-shadow-fixed) install ROS debians from either regular release or from shadow-fixed, i.e. http://packages.ros.org/ros-shadow-fixed/ubuntu
  • BEFORE_SCRIPT: (default: not set): Used to specify shell commands or scripts that run before building packages.
  • UPSTREAM_WORKSPACE (default: debian): When set as "file", the dependended packages that need to be built from source are downloaded based on a .rosinstall file in your repository. When set to a "http" URL, this downloads the rosinstall configuration from an http location
  • TEST_CLANG_FORMAT (default: False): If set to TRUE, no unit tests will be run, and clang-format will be run over any commits made. If commit is in a pull request, clang-format is run over all changes to be merged.

More configurations as seen in industrial_ci can be added, in the future.

Removed Configuration

  • ROS_REPOSITORY_PATH: (UNSUPPORTED) replaced by ROS_REPO

Running Locally For Testing

To manually run the moveit_ci script without Travis (presumably for testing):

First clone the repo you want to test:

cd ~/
git clone https://github.com/davetcoleman/moveit_kinetic_cpp11
cd moveit_kinetic_cpp11

Next clone the CI script:

git clone https://github.com/UBC-Snowbots/moveit_ci .moveit_ci

Define the necessary environmental variables:

export ROS_DISTRO=kinetic
export ROS_REPO=ros-shadow-fixed
export UPSTREAM_WORKSPACE=.rosinstall

Start the script

.moveit_ci/travis.sh

About

Continuous Integration for ROS Kinetic on Ubuntu 16.04, forked from moveit_ci

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 67.1%
  • Shell 32.9%