GithubHelp home page GithubHelp logo

ros2ci's Introduction

ros2ci

CI integration scripts for ROS2 repositories

This repository provides scripts to easily run CI for repository containing ROS 2 packages. These scripts are experimental and subject to change.

ROS 2 distributions supported:

  • Crystal
  • Dashing
  • Eloquent
  • nightly builds

Operating Systems supported

  • Ubuntu Bionic (18.04)

Supported CI systems

How to set it up

ros2ci's People

Contributors

mikaelarguedas avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

ros2ci's Issues

Template dockerfiles

Currently the nightly and crystal dockerfiles are identical except from the base image. They should be templated to not duplicate most of the files.

Additional consideration: consider templating the dependency list but it is not changing much so it may not be necessary

Ament_python not found

I've been learning some ROS2 lately and (as the good boy my parent raised me) wanted to setup CI for it so started using this repo.

However, I get this error:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
telegram_ros2: Cannot locate rosdep definition for [ament_python]

(See https://travis-ci.org/github/LoyVanBeek/telegram_ros2/jobs/663494148#L1100)

Now I'm confused: ament_python is the buildtool_depend since this is a Python pkg and started with ros2 pkg create --build-type ament_python <package_name> in accordance with https://index.ros.org/doc/ros2/Tutorials/Creating-Your-First-ROS2-Package/.

But ament_python never mentioned in https://github.com/ros/rosdistro/blob/93d6478cf9ec083780c03cc58821915a3b057cf9/eloquent/distribution.yaml#L9 and the repo is empty too.

So what is off here? I'm not even sure this is the right place to ask, sorry if not.

Build additional repos in underlay workspace

currently "additional repos" are built along the repo using the CI.
They should be in an underlay workspace, built first, not tested and then sourced before building and testing the overlay

Job type to detect dependency issues

currently the crystal job is based on ros-base and sources all of ros_base before building. This means that if the repo needs some packages included in ros_base without declaring a dependency on them it would not be detected by CI.

Additional considerations:
It is a tradeoff as jobs would take longer and repositories with multiple packages will likely face the issues regardless as if one package declares a dependency it will be installed for the entire workspace, shadowing missing dependencies in other packages

macos support

Travis (not likely)? CircleCI ? something else? research needed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.