Skip to content
Snippets Groups Projects
ros_ci.yml 1.32 KiB
Newer Older
Wolfgang Merkt's avatar
Wolfgang Merkt committed
# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)

name: ROS-CI

# This determines when this workflow is run
on: [push, pull_request] # on all pushes and PRs

jobs:
  CI:
    strategy:
      matrix:
        env:
          - {ROS_DISTRO: noetic}
          - {ROS_DISTRO: rolling}
Justin Carpentier's avatar
Justin Carpentier committed
          - {ROS_DISTRO: iron}
Wolfgang Merkt's avatar
Wolfgang Merkt committed
    env:
Justin Carpentier's avatar
Justin Carpentier committed
      # CCACHE_DIR: /home/runner/.ccache # Enable ccache
      PRERELEASE: true
      BUILDER: colcon
Wolfgang Merkt's avatar
Wolfgang Merkt committed
    runs-on: ubuntu-latest
    steps:
Justin Carpentier's avatar
Justin Carpentier committed
      - uses: actions/checkout@v3
Wolfgang Merkt's avatar
Wolfgang Merkt committed
        with:
          submodules: recursive
      # This step will fetch/store the directory used by ccache before/after the ci run
      # - uses: actions/cache@v3
      #   with:
      #     path: ${{ env.CCACHE_DIR }}
      #     key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
Wolfgang Merkt's avatar
Wolfgang Merkt committed
      # Run industrial_ci
      - uses: 'ros-industrial/industrial_ci@9f963f67ebb889792175776c5ee00134d7bb569b'
Wolfgang Merkt's avatar
Wolfgang Merkt committed
        env: ${{ matrix.env }}

  check:
    if: always()
    name: check-ros-ci

    needs:
    - CI

    runs-on: Ubuntu-latest

    steps:
    - name: Decide whether the needed jobs succeeded or failed
      uses: re-actors/alls-green@release/v1
      with:
        jobs: ${{ toJSON(needs) }}