You're reading the documentation for a development version. For the latest released version, please have a look at Humble.

Releasing a ROS 2 package with bloom

Introduction

This page describes how to prepare a repository for release on the public ROS 2 buildfarm. After you’ve created a package, this is the next step towards getting your package in to the publicly-available Debian packages (i.e., you will be able to install the package via apt). This page includes the ROS 2-specific instructions to execute before following the Bloom release tutorial on the ROS Wiki.

Required Tools

  • bloom >= 0.10.7

  • catkin_pkg >= 0.4.23

Ensure that you have the latest version of bloom and catkin_pkg

See above version requirements.

  • Make sure you have the ros repositories in your sources (see instructions here).

  • Install the latest version of bloom and catkin_pkg:

    sudo apt install python3-catkin-pkg python3-bloom
    

If you’re using a version of bloom older than 0.6.8 you’ll need to use the v3 index url for releasing.

export ROSDISTRO_INDEX_URL='https://raw.githubusercontent.com/ros/rosdistro/master/index.yaml'

Minor differences from ROS 1 Bloom

If you’ve bloomed packages before in ROS 1, the ROS 2 process should be familiar to you. The major difference is that release repositories for ROS 2 packages live in a dedicated GitHub organization: ROS 2 release repositories. The dedicated organization allows new automation supporting the Rolling distribution.

Release repositories hosted elsewhere are still supported for stable distributions if you are not planning to release the repository into Rolling. Since stable distributions created from Rolling will start with release repositories in the ros2-gbp organization it is recommend that you use the ros2-gbp release repositories for all ROS 2 distributions to avoid fragmenting the release information.

A ros2-gbp release repository may become a hard requirement for Rolling in the future and maintaining a single release repository for all ROS 2 distributions simplifies the maintenance of releases for both the Rolling distribution maintainers and package maintainers.

In order to request new release repositories or update maintainer access to existing release repositories in the ros2-gbp organization you can create an issue in the ros2-gbp-github-org management repository.

Procedure

Same as in ROS 1: Following this tutorial

If porting a ROS 1 package to ROS 2, it’s recommended to create a new -release repository.

Build Status