Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

github-setup-catkin

GitHub Actions status

This action sets up a ROS 1 environment for use of catkin. This includes

  • installing the requested ROS version
  • calling rosdep install on your repository
  • sourcing setup.sh for the following steps in the pipeline

Usage

See action.yml for available parameters.

Example with a repository containing single package or (top-level package.xml) or a full catkin workspace (src, devel, build are top-level)

runs-on: [ubuntu-18.04]
steps:
- uses: actions/checkout@v1
- uses: betwo/github-setup-catkin@v1.1.1
  with:
    ros-version: 'melodic'
    workspace: '$GITHUB_WORKSPACE'
- run: catkin_make_isolated

Example of using catkin_tools with a repository containing single package or (top-level package.xml) or a full catkin workspace (src, devel, build are top-level)

runs-on: [ubuntu-18.04]
steps:
- uses: actions/checkout@v1
- uses: betwo/github-setup-catkin@master
  with:
    ros-version: 'melodic'
    build-tool: 'catkin_tools'
    workspace: '$GITHUB_WORKSPACE'
- run: catkin build

Example using a custom catkin workspace setup process (see also e.g. here:

runs-on: [ubuntu-18.04]
steps:
- uses: actions/checkout@v1
  with:
    path: wworkspace/src/my_package
- uses: betwo/github-setup-catkin@v1.1.1
  with:
    ros-version: 'melodic'
    workspace: '$GITHUB_WORKSPACE'
- name: clone_dependencies
  run: |
    cd ..
    # clone more dependencies into the workspace, e.g.
    git clone https://github.com/betwo/csapex
    # ...
- uses: betwo/github-setup-catkin@v1.1.1
  with:
    ros-version: 'kinetic'
    workspace: $HOME/work/my-repo-name/workspace
- name: build
  run: |
    cd $HOME/work/my-repo-name/workspace
    catkin_make_isolated

Example using with two different compilers:

runs-on: [ubuntu-18.04]
strategy:
  matrix:
    compiler: ["/usr/bin/g++", "/usr/bin/clang++"]
steps:
- uses: actions/checkout@v1
- uses: betwo/github-setup-catkin@v1.1.1
  with:
    ros-version: 'melodic'
    workspace: '$GITHUB_WORKSPACE'
- run: catkin_make_isolated -DCMAKE_C_COMPILER=${{ matrix.compiler }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}

License

The scripts and documentation in this project are released under the MIT License

Contributions

Contributions are welcome! See Contributor's Guide

About

GitHub Actions to run catkin builds

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages