Files
rtabmap/.github/workflows/cmake-ros.yml
T

60 lines
2.0 KiB
YAML

name: CMake-ROS
on:
push:
branches:
- master
pull_request:
branches:
- '**'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
name: ${{ matrix.ros_distribution }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ros_distribution: [ humble, jazzy, kilted, lyrical, rolling]
include:
- ros_distribution: 'humble'
skip_keys: ""
- ros_distribution: 'jazzy'
skip_keys: ""
- ros_distribution: 'kilted'
skip_keys: ""
- ros_distribution: 'lyrical'
skip_keys: "libpointmatcher"
- ros_distribution: 'rolling'
skip_keys: ""
container:
image: osrf/ros:${{ matrix.ros_distribution }}-desktop-full
steps:
- uses: actions/checkout@v4
# Newer osrf/ros images (e.g. rolling) ship "ros2-testing-apt-source", which conflicts
# with the "ros2-apt-source" package that setup-ros installs. Remove it first so setup-ros
# can install its apt source cleanly (no-op on images that don't have it).
- name: Remove conflicting ros2 apt source package
run: apt-get remove -y ros2-testing-apt-source || true
- uses: ros-tooling/[email protected]
with:
required-ros-distributions: ${{ matrix.ros_distribution }}
- uses: ros-tooling/[email protected]
with:
package-name: rtabmap
target-ros2-distro: ${{ matrix.ros_distribution }}
rosdep-skip-keys: "${{ matrix.skip_keys }}"