name: CMake on: push: branches: [ master ] pull_request: branches: [ master ] 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 ros ${{ matrix.ros_distro }} and ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-20.04, ubuntu-18.04] include: - os: ubuntu-20.04 ros_distro: 'noetic' - os: ubuntu-18.04 ros_distro: 'melodic' 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-ros sudo apt-get -y remove ros-${{ matrix.ros_distro }}-rtabmap - uses: actions/checkout@v2 - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: | source /opt/ros/${{ matrix.ros_distro }}/setup.bash cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build # Build your program with the given configuration run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Info working-directory: ${{github.workspace}}/build/bin run: | source /opt/ros/${{ matrix.ros_distro }}/setup.bash ./rtabmap-console --version # - name: Test # working-directory: ${{github.workspace}}/build # # Execute tests defined by the CMake configuration. # # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail # run: ctest -C ${{env.BUILD_TYPE}}