Skip to content

betwo/github-setup-catkin

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