nobleo / industrial_ci

Easy continuous integration repository for ROS repositories

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 for your github repository on Travis CI). You may do so either at https://travis-ci.org/profile/YOUR_GITHUB_ORGANIZATION or at https://travis-ci.org/profile/YOUR_GITHUB_USER (depending on where your repository sits).
  2. In .travis.yml file in your client repo, add in "install" section a sentence git clone https://github.com/ros-industrial/industrial_ci.git .industrial_ci, like below:
install:
  - git clone https://github.com/ros-industrial/industrial_ci.git .industrial_ci
script:
  - .industrial_ci/travis.sh
  • Note: The name .industrial_ci is NO longer REQUIRED for the cloned folder starting version 0.3.2; you can pick any name (recommended practice to keep the folder hidden (by prepending ".").
  1. Enable CI for your repo. Please refer to official doc for the steps to do so. Note for Gitlab CI, necessary steps might be different between hosted version (i.e. the one on gitlab.com) v.s. the one on your own server, which Gitlab doesn't always clarify in its documentation.
  1. For your server version, enable a runner for your Gitlab project which uses the Docker executor. See instructions on how to install and register such a runner with your Gitlab instance if you haven't done so yet.
  1. In .gitlab-ci.yml file in your client repo, add the following minimal configuration (this snippet can be the entire content of the file), replacing indigo for your chosen distro:
image: docker:git
services:
  - docker:dind
before_script:
  - apk add --update bash coreutils tar
  - git clone https://github.com/ros-industrial/industrial_ci .industrial_ci
indigo:
  script: .industrial_ci/gitlab.sh ROS_DISTRO=indigo
  1. Enable CI for your repo. Please refer to official doc for the steps to do so.
  2. In the bitbucket-pipelines.yml file in your client repo, add the following minimal configuration (this snippet can be the entire content of the file), replacing indigo for your chosen distro:
image: docker:git

pipelines:
  default:
     - step:
         services:
           - docker
         script:
           - apk add --update bash coreutils tar
           - git clone https://github.com/ros-industrial/industrial_ci .industrial_ci
           - .industrial_ci/bitbucket.sh ROS_DISTRO=indigo

definitions:
  services:
    docker:
      memory: 2048

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

About

Easy continuous integration repository for ROS repositories

License:Apache License 2.0


Languages

Language:Shell 87.1%Language:Python 9.8%Language:CMake 2.9%Language:HTML 0.1%