Files
rtabmap_ros/.github/workflows/ros2.yml
T
matlabbe 5207dab7c2 rtabmap_slam tests and doc (#1460)
* rtabmap_slam tests and doc

* another round of review of the doc

* Disable by default use_intra_process_comms on latched/transient publishers

* Added test to catch not unlocked mutex from early error exit

* updated coverage settings

* Using UScopeMutex on all tryLock()
2026-09-28 13:09:51 -07:00

70 lines
2.8 KiB
YAML

name: ros2
on:
push:
branches: [ ros2 ]
pull_request:
branches: [ ros2 ]
workflow_dispatch:
env:
BUILD_TYPE: Release
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
name: Build ros2 ${{ matrix.ros_distro }}
runs-on: ubuntu-latest
strategy:
matrix:
ros_distro: [humble, jazzy, kilted, lyrical, rolling]
include:
- ros_distro: humble
skip_keys: ''
packages: 'rtabmap_ros rtabmap_conversions rtabmap_odom rtabmap_slam rtabmap_sync rtabmap_util rtabmap_python'
- ros_distro: jazzy
skip_keys: ''
packages: 'rtabmap_ros rtabmap_conversions rtabmap_odom rtabmap_slam rtabmap_sync rtabmap_util rtabmap_python'
- ros_distro: kilted
skip_keys: 'grid_map_ros'
packages: 'rtabmap_ros rtabmap_conversions rtabmap_odom rtabmap_slam rtabmap_sync rtabmap_util rtabmap_python'
- ros_distro: lyrical
skip_keys: 'velodyne grid_map_ros libpointmatcher'
packages: 'rtabmap_ros rtabmap_conversions rtabmap_odom rtabmap_slam rtabmap_sync rtabmap_util rtabmap_python'
- ros_distro: rolling
# Rolling has moved to Ubuntu resolute and much of it has not been rebuilt for
# that yet, so rosdep finds nothing to install for these. They are all optional
# to rtabmap, which just builds without them.
skip_keys: 'velodyne libpointmatcher gtsam grid_map_ros'
use_ros2_testing: true # Rolling is using ros2-testing (nightly)
# nav2 is missing from resolute too, and it is not optional: rtabmap_slam and
# rtabmap_costmap_plugins need it to compile at all, and the rtabmap_ros
# metapackage pulls both in. So rolling names the packages it can build.
packages: 'rtabmap_conversions rtabmap_odom rtabmap_sync rtabmap_util rtabmap_python'
fail-fast: false
container:
image: osrf/ros:${{ matrix.ros_distro }}-desktop-full
steps:
- uses: actions/checkout@v4
- uses: ros-tooling/[email protected]
with:
required-ros-distributions: ${{ matrix.ros_distro }}
use-ros2-testing: ${{ matrix.use_ros2_testing || false }}
- run: |
DEBIAN_FRONTEND=noninteractive
sudo apt update
sudo apt upgrade -y
- run: |
echo "repositories:\n introlab/rtabmap:\n type: git\n url: https://github.com/introlab/rtabmap.git\n version: master\n" > /tmp/deps.repos &&\
cat /tmp/deps.repos
- uses: ros-tooling/[email protected]
with:
package-name: ${{ matrix.packages }}
target-ros2-distro: ${{ matrix.ros_distro }}
vcs-repo-file-url: /tmp/deps.repos
rosdep-skip-keys: "${{ matrix.skip_keys }}"