Skip to content

Commit

Permalink
Merge pull request #6 from mascheiber/action/ros_matrix
Browse files Browse the repository at this point in the history
add: single ROS workflow action as matrix
  • Loading branch information
Chris-Bee authored Dec 14, 2022
2 parents dacc3c5 + 72b0e45 commit 1cf5e93
Show file tree
Hide file tree
Showing 5 changed files with 131 additions and 133 deletions.
130 changes: 130 additions & 0 deletions .github/workflows/ros.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Copyright (C) 2022 Martin Scheiber and Christian Brommer,
# Control of Networked Systems, University of Klagenfurt, Austria.
#
# All rights reserved.
#
# This software is licensed under the terms of the BSD-2-Clause-License with
# no commercial use allowed, the full terms of which are made available
# in the LICENSE file. No license in patents is granted.
#
# You can contact the author at <martin.scheiber@ieee.org> and
# <christian.brommer@ieee.org>.

name: ROS

on:
push:
branches: [ "main", "development" ]
pull_request:
branches: [ "main", "development" ]

jobs:
ros_ci:
name: ROS ${{ matrix.ROS_DISTRO }}
runs-on: ubuntu-latest
container: ros:${{ matrix.ROS_DISTRO }}-ros-core
strategy:
# fail-fast needs to be false to perform all matrix checks, even if one fails
fail-fast: false
matrix:
ROS_DISTRO: [noetic, melodic, kinetic]
env:
BADGE_CREATION: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository_owner == 'aau-cns' }}
steps:
- name: Create Badge (running)
if: ${{ env.BADGE_CREATION == 'true' }}
uses: schneegans/dynamic-badges-action@v1.4.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 43fe7d2cb351d05d5101f8d1d6b94bd9
filename: build_mars_ros_${{ matrix.ROS_DISTRO }}.json
label: ${{ matrix.ROS_DISTRO }}
message: running
color: yellow
namedLogo: ROS
style: plastic

- name: Get newest Git version
run: >
apt update && apt install --no-install-recommends -y
software-properties-common
&& add-apt-repository ppa:git-core/ppa
- name: Install Dependencies
run: >
apt update && apt install --no-install-recommends -y
git
doxygen
graphviz
build-essential
libeigen3-dev
ros-${{ matrix.ROS_DISTRO }}-dynamic-reconfigure
ros-${{ matrix.ROS_DISTRO }}-tf2-ros
- name: Install ROS dependencies (python3)
if: ${{ matrix.ROS_DISTRO == 'noetic' }}
run: >
apt update && apt install --no-install-recommends -y
python3-catkin-tools
- name: Install ROS dependencies (python2)
if: ${{ matrix.ROS_DISTRO != 'noetic' }}
run: >
apt update && apt install --no-install-recommends -y
python-catkin-tools
- name: Create Catkin Workspace
run: mkdir -p ${{github.workspace}}/flightstack_cws

- name: Checkout Latest Version
uses: actions/checkout@v3
with:
path: ${{github.workspace}}/catkin_ws/src
submodules: recursive

- name: Build Debug
working-directory: ${{github.workspace}}/catkin_ws
run: /bin/bash -c '. /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash; catkin build -DCMAKE_BUILD_TYPE=Debug; catkin clean -y;'

- name: Build Release
working-directory: ${{github.workspace}}/catkin_ws
run: /bin/bash -c '. /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash; catkin build -DCMAKE_BUILD_TYPE=Release; catkin clean -y;'

- name: Create Badge (success)
if: ${{ success() && env.BADGE_CREATION == 'true' }}
uses: schneegans/dynamic-badges-action@v1.4.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 43fe7d2cb351d05d5101f8d1d6b94bd9
filename: build_mars_ros_${{ matrix.ROS_DISTRO }}.json
label: ${{ matrix.ROS_DISTRO }}
message: passing
color: green
namedLogo: ROS
style: plastic

- name: Create Badge (failure)
if: ${{ failure() && env.BADGE_CREATION == 'true' }}
uses: schneegans/dynamic-badges-action@v1.4.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 43fe7d2cb351d05d5101f8d1d6b94bd9
filename: build_mars_ros_${{ matrix.ROS_DISTRO }}.json
label: ${{ matrix.ROS_DISTRO }}
message: failure
isError: true
namedLogo: ROS
style: plastic

- name: Create Badge (cancelled)
if: ${{ cancelled() && env.BADGE_CREATION == 'true' }}
uses: schneegans/dynamic-badges-action@v1.4.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 43fe7d2cb351d05d5101f8d1d6b94bd9
filename: build_mars_ros_${{ matrix.ROS_DISTRO }}.json
label: ${{ matrix.ROS_DISTRO }}
message: cancelled
color: inactive
namedLogo: ROS
style: plastic
46 changes: 0 additions & 46 deletions .github/workflows/ros_kinetic.yml

This file was deleted.

46 changes: 0 additions & 46 deletions .github/workflows/ros_melodic.yml

This file was deleted.

40 changes: 0 additions & 40 deletions .github/workflows/ros_noetic.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Introduction

[![ROS-Noetic](https://github.com/aau-cns/mars_ros/actions/workflows/ros_noetic.yml/badge.svg)](https://github.com/aau-cns/mars_ros/actions/workflows/ros_noetic.yml) [![ROS-Melodic](https://github.com/aau-cns/mars_ros/actions/workflows/ros_melodic.yml/badge.svg)](https://github.com/aau-cns/mars_ros/actions/workflows/ros_melodic.yml) [![ROS-Kinetic](https://github.com/aau-cns/mars_ros/actions/workflows/ros_kinetic.yml/badge.svg)](https://github.com/aau-cns/mars_ros/actions/workflows/ros_kinetic.yml)<br/>
[![noetic_badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/ist-cns/43fe7d2cb351d05d5101f8d1d6b94bd9/raw/build_mars_ros_noetic.json)](https://github.com/aau-cns/mars_ros/actions/workflows/ros.yml) [![kitetic_badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/ist-cns/43fe7d2cb351d05d5101f8d1d6b94bd9/raw/build_mars_ros_kinetic.json)](https://github.com/aau-cns/mars_ros/actions/workflows/ros.yml) [![melodic_badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/ist-cns/43fe7d2cb351d05d5101f8d1d6b94bd9/raw/build_mars_ros_melodic.json)](https://github.com/aau-cns/mars_ros/actions/workflows/ros.yml) <br/>
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5185909.svg)](https://doi.org/10.5281/zenodo.5185909) [![IEEE](https://img.shields.io/badge/IEEE-10.1109/LRA.2020.3043195-00498d.svg)](https://ieeexplore.ieee.org/document/9286578) [![License](https://img.shields.io/badge/License-AAUCNS-green.svg)](./LICENSE)

This package is a ROS Wrapper for the Modular and Robust State-Estimation (MaRS) Library, which can be found [here](https://github.com/aau-cns/mars_lib), with the technology described by this [publication](https://ieeexplore.ieee.org/document/9286578). The wrapper defines simple nodes for direct use. Additional sensors can be added to pre-existing nodes, or a dedicated ROS node can be designed for a specific application.
Expand Down

0 comments on commit 1cf5e93

Please sign in to comment.