From 95a4298e751a235cfec59a41cc64962dfd6c9aa2 Mon Sep 17 00:00:00 2001 From: Alexander Mock Date: Thu, 14 Nov 2024 20:00:09 +0100 Subject: [PATCH] Added ROS workflows (#30) added ROS CIs --- .github/workflows/humble-ros.yml | 25 ------------------------- .github/workflows/master-ros.yml | 27 --------------------------- .github/workflows/melodic-ros.yml | 25 ------------------------- .github/workflows/noetic-ros.yml | 25 ------------------------- .github/workflows/ros-humble.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/ros-iron.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/ros-jazzy.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/ros-noetic.yml | 31 +++++++++++++++++++++++++++++++ README.md | 29 ++++++++++++++++++++++++++--- 9 files changed, 150 insertions(+), 105 deletions(-) delete mode 100644 .github/workflows/humble-ros.yml delete mode 100644 .github/workflows/master-ros.yml delete mode 100644 .github/workflows/melodic-ros.yml delete mode 100644 .github/workflows/noetic-ros.yml create mode 100644 .github/workflows/ros-humble.yml create mode 100644 .github/workflows/ros-iron.yml create mode 100644 .github/workflows/ros-jazzy.yml create mode 100644 .github/workflows/ros-noetic.yml diff --git a/.github/workflows/humble-ros.yml b/.github/workflows/humble-ros.yml deleted file mode 100644 index a3e78f979..000000000 --- a/.github/workflows/humble-ros.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: CI-humble -on: - push: - branches: - - 'humble' - pull_request: - branches: - - 'humble' - workflow_dispatch: - branches: - - '*' -jobs: - industrial_ci: - strategy: - matrix: - env: - - {ROS_DISTRO: humble, ROS_REPO: testing} - - {ROS_DISTRO: humble, ROS_REPO: main} - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: 'ros-industrial/industrial_ci@master' - env: ${{matrix.env}} diff --git a/.github/workflows/master-ros.yml b/.github/workflows/master-ros.yml deleted file mode 100644 index 87dd5dc38..000000000 --- a/.github/workflows/master-ros.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: CI-master -on: - push: - branches: - - 'master' - pull_request: - branches: - - 'master' - workflow_dispatch: - branches: - - '*' -jobs: - industrial_ci: - strategy: - matrix: - env: - - {ROS_DISTRO: melodic, ROS_REPO: testing} - - {ROS_DISTRO: melodic, ROS_REPO: main} - - {ROS_DISTRO: noetic, ROS_REPO: testing} - - {ROS_DISTRO: noetic, ROS_REPO: main} - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: 'ros-industrial/industrial_ci@master' - env: ${{matrix.env}} diff --git a/.github/workflows/melodic-ros.yml b/.github/workflows/melodic-ros.yml deleted file mode 100644 index 4eae42bb0..000000000 --- a/.github/workflows/melodic-ros.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: CI-melodic -on: - push: - branches: - - 'melodic' - pull_request: - branches: - - 'melodic' - workflow_dispatch: - branches: - - '*' -jobs: - industrial_ci: - strategy: - matrix: - env: - - {ROS_DISTRO: melodic, ROS_REPO: testing} - - {ROS_DISTRO: melodic, ROS_REPO: main} - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: 'ros-industrial/industrial_ci@master' - env: ${{matrix.env}} diff --git a/.github/workflows/noetic-ros.yml b/.github/workflows/noetic-ros.yml deleted file mode 100644 index 0326f6073..000000000 --- a/.github/workflows/noetic-ros.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: CI-noetic -on: - push: - branches: - - 'noetic' - pull_request: - branches: - - 'noetic' - workflow_dispatch: - branches: - - '*' -jobs: - industrial_ci: - strategy: - matrix: - env: - - {ROS_DISTRO: noetic, ROS_REPO: testing} - - {ROS_DISTRO: noetic, ROS_REPO: main} - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: 'ros-industrial/industrial_ci@master' - env: ${{matrix.env}} diff --git a/.github/workflows/ros-humble.yml b/.github/workflows/ros-humble.yml new file mode 100644 index 000000000..2f974e4fb --- /dev/null +++ b/.github/workflows/ros-humble.yml @@ -0,0 +1,31 @@ +name: humble +on: + push: + branches: + - 'develop' + - 'humble' + pull_request: + branches: + - 'develop' + - 'humble' + workflow_dispatch: + branches: + - '*' +jobs: + ros_humble: + name: humble + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + steps: + - name: Checkout LVR2 + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Compile LVR2 in ROS 2 humble WS + uses: 'ros-industrial/industrial_ci@master' + env: + ROS_DISTRO: humble + ROS_REPO: main + AFTER_SCRIPT: cd ~/target_ws && ./build/lvr2/bin/lvr2_reconstruct src/lvr2/dat/scan.pts \ No newline at end of file diff --git a/.github/workflows/ros-iron.yml b/.github/workflows/ros-iron.yml new file mode 100644 index 000000000..c5df78b95 --- /dev/null +++ b/.github/workflows/ros-iron.yml @@ -0,0 +1,31 @@ +name: iron +on: + push: + branches: + - 'develop' + - 'iron' + pull_request: + branches: + - 'develop' + - 'iron' + workflow_dispatch: + branches: + - '*' +jobs: + ros_iron: + name: iron + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + steps: + - name: Checkout LVR2 + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Compile LVR2 in ROS 2 iron WS + uses: 'ros-industrial/industrial_ci@master' + env: + ROS_DISTRO: iron + ROS_REPO: main + AFTER_SCRIPT: cd ~/target_ws && ./build/lvr2/bin/lvr2_reconstruct src/lvr2/dat/scan.pts \ No newline at end of file diff --git a/.github/workflows/ros-jazzy.yml b/.github/workflows/ros-jazzy.yml new file mode 100644 index 000000000..c4ecb28f2 --- /dev/null +++ b/.github/workflows/ros-jazzy.yml @@ -0,0 +1,31 @@ +name: jazzy +on: + push: + branches: + - 'develop' + - 'jazzy' + pull_request: + branches: + - 'develop' + - 'jazzy' + workflow_dispatch: + branches: + - '*' +jobs: + ros_jazzy: + name: jazzy + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + steps: + - name: Checkout LVR2 + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Compile LVR2 in ROS 2 jazzy WS + uses: 'ros-industrial/industrial_ci@master' + env: + ROS_DISTRO: jazzy + ROS_REPO: main + AFTER_SCRIPT: cd ~/target_ws && ./build/lvr2/bin/lvr2_reconstruct src/lvr2/dat/scan.pts \ No newline at end of file diff --git a/.github/workflows/ros-noetic.yml b/.github/workflows/ros-noetic.yml new file mode 100644 index 000000000..6b8dca717 --- /dev/null +++ b/.github/workflows/ros-noetic.yml @@ -0,0 +1,31 @@ +name: noetic +on: + push: + branches: + - 'develop' + - 'noetic' + pull_request: + branches: + - 'develop' + - 'noetic' + workflow_dispatch: + branches: + - '*' +jobs: + ros_noetic: + name: noetic + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + steps: + - name: Checkout LVR2 + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Compile LVR2 in ROS2 1 noetic WS + uses: 'ros-industrial/industrial_ci@master' + env: + ROS_DISTRO: noetic + ROS_REPO: main + AFTER_SCRIPT: cd ~/target_ws && ./build/lvr2/bin/lvr2_reconstruct src/lvr2/dat/scan.pts \ No newline at end of file diff --git a/README.md b/README.md index 7157ff2d2..2fb7d931b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,23 @@ +```console + /\ + / \ ## ## ## ####### ###### + / \ ## ## ## ## ## ## ## + / \ ## ## ## ## ## ## + /________\ ## ## ## ## ## ## + /\ /\ ## ## ## ####### ## + / \ / \ ## ## ## ## ## ## + / \ / \ ## #### ## ## ## + / \ / \ ########## ## ## ## ########## +/________\/________\ +``` + # About This library delivers tools to build surface reconstructions from point cloud data and a simple viewer to display the results. Additionally, the found surfaces will be classified into predefined categories. The main aim of this project is to deliver fast and accurate algorithms for surface reconstruction with a strong focus on -robotic applications such as tele operation in unknown environments and +robotic applications such as teleoperation in unknown environments and localization. # Download and Compilation from Source @@ -13,7 +26,7 @@ localization. https://github.com/uos/lvr2 - develop -## Linux (Ubuntu 18.04, 20.04, 22.04) +## Linux (Ubuntu 18.04, 20.04, 22.04, 24.04) ### Step 1: Install all required package dependencies: @@ -112,4 +125,14 @@ Please reference the following papers when using the lvr2 library in your scient year={2018}, pages={278-281}, doi={10.1109/IRC.2018.00059}} -``` \ No newline at end of file +``` + + +## ROS build + +You can simply download this library and compile it inside your ROS workspace. The following ROS distributions are supported: + +| Version | Supported Distributions | +|:-----------|:----------------------------| +| ROS 1 | [![noetic](https://github.com/uos/lvr2/actions/workflows/ros-noetic.yml/badge.svg)](https://github.com/uos/lvr2/actions/workflows/ros-noetic.yml) | +| ROS 2 | [![humble](https://github.com/uos/lvr2/actions/workflows/ros-humble.yml/badge.svg)](https://github.com/uos/lvr2/actions/workflows/ros-humble.yml) [![iron](https://github.com/uos/lvr2/actions/workflows/ros-iron.yml/badge.svg)](https://github.com/uos/lvr2/actions/workflows/ros-iron.yml) [![jazzy](https://github.com/uos/lvr2/actions/workflows/ros-jazzy.yml/badge.svg)](https://github.com/uos/lvr2/actions/workflows/ros-jazzy.yml) | \ No newline at end of file