mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-07 02:27:47 +08:00
62 lines
2.2 KiB
YAML
62 lines
2.2 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: "libpointmatcher"
|
|
use_ros2_testing: true
|
|
container:
|
|
image: osrf/ros:${{ matrix.ros_distribution }}-desktop-full
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ros-tooling/[email protected]
|
|
with:
|
|
required-ros-distributions: ${{ matrix.ros_distribution }}
|
|
# Rolling is published to the ros2-testing (nightly) repo before it is synced to the
|
|
# main repo, so enable testing to pick up deps not yet in main (e.g. libg2o, gtsam,
|
|
# libpointmatcher). See https://docs.ros.org/en/rolling/Installation/Testing.html.
|
|
# This also matches the osrf/ros:rolling image (which uses ros2-testing-apt-source),
|
|
# so there is no ros2-apt-source vs ros2-testing-apt-source conflict.
|
|
use-ros2-testing: ${{ matrix.use_ros2_testing || false }}
|
|
- uses: ros-tooling/[email protected]
|
|
with:
|
|
package-name: rtabmap
|
|
target-ros2-distro: ${{ matrix.ros_distribution }}
|
|
rosdep-skip-keys: "${{ matrix.skip_keys }}"
|
|
|