Skip to content

Latest commit

 

History

History
104 lines (82 loc) · 3.4 KB

RELEASING.md

File metadata and controls

104 lines (82 loc) · 3.4 KB

Release a new version of ros_ign

Different branches of this repository support different combinations of ROS 1, ROS 2 and Ignition. Refer to the README to see what combinations are supported.

We use 2 separate approaches for releasing ROS-enabled binaries:

Releasing into ROS packages is ideal, but that's only possible if the necessary Ignition libraries are available either through official Ubuntu packages, or directly from https://packages.ros.org. This situation varies according to the Ignition version:

Another factor to take into consideration is which Ignition version is officially supported for each ROS distro according to the following REPS:

These factors determine which ROS + Ignition combinations are released into each repository.

Versioning

All ros_ign packages are under fast development and haven't reached version 1.0 yet. The team will make an effort to keep changes backwards compatible within a ROS distribution, but API / ABI / behaviour may be broken if necessary.

The versioning scheme uses the minor version to identify ROS and Ignition versions:

  • 1st digit:
    • ROS 1: 1
    • ROS 2: 2
  • 2nd digit:
    • Melodic: 0
    • Noetic: 1
    • Dashing: 0
    • Eloquent: 1
    • Foxy: 2
  • 3rd digit:
    • Blueprint: 0
    • Citadel: 1
    • Dome: 2
ROS Ignition Version
Melodic Blueprint 0.100.X
Melodic Citadel 0.101.X
Noetic Blueprint
Noetic Citadel 0.111.X
Noetic Dome 0.112.X
Dashing Blueprint 0.200.X
Dashing Citadel 0.201.X
Eloquent Blueprint 0.210.X
Eloquent Citadel 0.211.X
Foxy Blueprint
Foxy Citadel 0.221.X
Foxy Dome 0.222.X
  1. Follow the standard ROS release process.
  1. From the standard ROS release process, follow just these steps:

    • catkin_generate_changelog
    • catkin_prepare_release
  2. Install rosdep for Ignition packages and run rosdep update

    sudo bash -c 'echo "yaml https://github.com/osrf/osrf-rosdep/raw/master/ignition/ignition.yaml" >> /etc/ros/rosdep/sources.list.d/00-ignition.list'
    rosdep update
    
  3. Bloom it into a custom repository

    BLOOM_RELEASE_REPO_BASE=https://github.com/osrf/ bloom-release --no-pull-request --rosdistro melodic --track melodic ros_ign
    

    Will fail fedora: ignore and continue:

    # Would you like to try again? [Y/n]? n
    # Skip generator action and continue with release [y/N]? y
    
  4. Use release-tools's script to launch jenkins jobs:

    cd release-tools/bloom
    ./ros_ign_bridge-release.py.bash 0.8.0 https://github.com/osrf/ros_ign-release <ros_distro> <token> --ignition-version <version_name>