# 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 1
          - {ROS_DISTRO: noetic}
          # ROS 2
          - {ROS_DISTRO: humble}
    env:
      CCACHE_DIR: /github/home/.ccache             # Enable ccache
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        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 }}
      # Run industrial_ci
      - uses: 'ros-industrial/industrial_ci@master'
        env: ${{ matrix.env }}
