diff --git a/.github/workflows/industrial_ci_action.yml b/.github/workflows/industrial_ci_action.yml new file mode 100644 index 0000000..73b177f --- /dev/null +++ b/.github/workflows/industrial_ci_action.yml @@ -0,0 +1,41 @@ +# 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: CI + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + industrial_ci: + name: ROS ${{ matrix.ROS_DISTRO }} (${{ matrix.ROS_REPO }}) + runs-on: ubuntu-latest + strategy: + matrix: # matrix is the product of entries + ROS_DISTRO: [melodic] + ROS_REPO: [testing, main] + # exclude: # specific configuration can be excludes + # - {ROS_DISTRO: melodic, ROS_REPO: testing} + include: # add additional configurations + - {ROS_DISTRO: kinetic, ROS_REPO: testing} + env: + CCACHE_DIR: "${{ github.workspace }}/.ccache" # directory for ccache (and how we enable ccache in industrial_ci) + steps: + - uses: actions/checkout@v3 # clone target repository + - uses: actions/cache@v2 # fetch/store the directory used by ccache before/after the ci run + with: + path: ${{ env.CCACHE_DIR }} + # This configuration will always create a new ccache cache starting off from the previous one (if any). + # In this simple version it will be shared between all builds of the same ROS_REPO and ROS_REPO + # and might need some fine-tuning to match the use case + key: ccache-${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}-${{github.run_id}} + restore-keys: | + ccache-${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}- + - uses: 'ros-industrial/industrial_ci@master' # run industrial_ci + env: # either pass all entries explicitly + ROS_DISTRO: ${{ matrix.ROS_DISTRO }} + ROS_REPO: ${{ matrix.ROS_REPO }} + # with: # or pass the full matrix as config + # config: ${{toJSON(matrix)}} \ No newline at end of file