diff --git a/.github/workflow/ros2.yml b/.github/workflow/ros2.yml new file mode 100644 index 00000000..44de92a4 --- /dev/null +++ b/.github/workflow/ros2.yml @@ -0,0 +1,57 @@ + +name: ros2 + +on: + push: + branches: [ ros2 ] + pull_request: + branches: [ ros2 ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +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: Build on ros2 ${{ matrix.ros_distro }} + runs-on: ubuntu-20.04 + strategy: + matrix: + ros_distro: [foxy, galactic] + + steps: + - uses: ros-tooling/setup-ros@v0.2 + with: + required-ros-distributions: ${{ matrix.ros_distro }} + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get -y install ros-${{ matrix.ros_distro }}-rtabmap + sudo apt-get -y remove ros-${{ matrix.ros_distro }}-rtabmap + + - name: Setup catkin workspace + run: | + source /opt/ros/${{ matrix.ros_distro }}/setup.bash + mkdir -p ${{github.workspace}}/ros2_ws/src + cd ${{github.workspace}}/ros2_ws + colcon build + + - uses: actions/checkout@v2 + with: + repository: 'introlab/rtabmap' + path: 'ros2_ws/src/rtabmap' + + - uses: actions/checkout@v2 + with: + path: 'ros2_ws/src/rtabmap_ros' + + - name: colcon build + run: | + source /opt/ros/${{ matrix.ros_distro }}/setup.bash + cd ${{github.workspace}}/ros2_ws + colcon build