/github-setup-catkin

GitHub Actions to run catkin builds

Primary LanguageTypeScriptMIT LicenseMIT

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 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