Skip to content

Commit 3e4f810

Browse files
authored
ROS Workflows (#18)
1 parent c17e877 commit 3e4f810

File tree

7 files changed

+107
-10
lines changed

7 files changed

+107
-10
lines changed

.github/workflows/ros2_humble.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: ros2_humble
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
pull_request:
8+
branches:
9+
- 'main'
10+
workflow_dispatch:
11+
branches:
12+
- '*'
13+
14+
jobs:
15+
humble:
16+
name: ros2-humble
17+
uses: ./.github/workflows/ros2_template.yml
18+
with:
19+
docker_base_image: rostooling/setup-ros-docker:ubuntu-jammy-latest
20+
ros_distro: humble

.github/workflows/ros2_jazzy.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: ros2_jazzy
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
pull_request:
8+
branches:
9+
- 'main'
10+
workflow_dispatch:
11+
branches:
12+
- '*'
13+
14+
jobs:
15+
jazzy:
16+
name: ros2-jazzy
17+
uses: ./.github/workflows/ros2_template.yml
18+
with:
19+
docker_base_image: rostooling/setup-ros-docker:ubuntu-noble-latest
20+
ros_distro: jazzy
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: ros2_template
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
docker_base_image:
7+
required: true
8+
type: string
9+
ros_distro:
10+
required: true
11+
type: string
12+
13+
jobs:
14+
colcon-build:
15+
name: build
16+
runs-on: ubuntu-latest
17+
18+
container:
19+
image: ${{ inputs.docker_base_image }}
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Build
26+
id: action_ros_ci_step
27+
uses: ros-tooling/action-ros-ci@v0.4
28+
with:
29+
package-name: rmcl rmcl_msgs rmcl_ros
30+
target-ros2-distro: ${{ inputs.ros_distro }}
31+
vcs-repo-file-url: $GITHUB_WORKSPACE/source_dependencies.yaml
32+
rosdep-check: true
33+
no-symlink-install: true
34+
skip-tests: true
35+
36+
colcon-test:
37+
name: test
38+
runs-on: ubuntu-latest
39+
needs: colcon-build
40+
41+
container:
42+
image: ${{ inputs.docker_base_image }}
43+
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v4
47+
48+
# TODO: Figure out how to reuse the state from the colcon-build job
49+
- name: Test
50+
uses: ros-tooling/action-ros-ci@v0.4
51+
with:
52+
package-name: rmcl rmcl_msgs rmcl_ros
53+
target-ros2-distro: ${{ inputs.ros_distro }}
54+
vcs-repo-file-url: $GITHUB_WORKSPACE/source_dependencies.yaml
55+
rosdep-check: true
56+
no-symlink-install: true
57+
skip-tests: false

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,12 @@ Clone this repository into your ROS workspace and build it.
117117
colcon build
118118
```
119119

120-
### Branch Compatibility
120+
### Distro Compatibility
121121

122-
| RMCL Branch | Supported ROS 2 versions |
123-
|:----|:----|
124-
| main | humble, jazzy |
122+
| Distro | OS | Architecture | Build | Tests |
123+
| ------ | -- | ------------ | ----- | ----- |
124+
| Humble | Ubuntu 22.04 | x86\_64 | [![ros2-humble build](https://img.shields.io/github/check-runs/uos/rmcl/main?checkName=ros2-humble%20%2F%20build)](https://github.com/uos/rmcl/actions/workflows/ros2_humble.yml) | [![ros2-humble tests](https://img.shields.io/github/check-runs/uos/rmcl/main?checkName=ros2-humble%20%2F%20tests)](https://github.com/uos/rmcl/actions/workflows/ros2_humble.yml) |
125+
| Jazzy | Ubuntu 24.04 | x86\_64 | [![ros2-jazzy build](https://img.shields.io/github/check-runs/uos/rmcl/main?checkName=ros2-jazzy%20%2F%20build)](https://github.com/uos/rmcl/actions/workflows/ros2_jazzy.yml) | [![ros2-jazzy tests](https://img.shields.io/github/check-runs/uos/rmcl/main?checkName=ros2-jazzy%20%2F%20tests)](https://github.com/uos/rmcl/actions/workflows/ros2_jazzy.yml) |
125126

126127
## Mesh Navigation
127128

rmcl/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if (NOT EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
3737
endif()
3838
endif()
3939

40-
set_property(GLOBAL PROPERTY USE_FOLDERS On)
40+
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
4141
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON)
4242

4343
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -51,7 +51,6 @@ set(CMAKE_TMP_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tmp)
5151

5252
list(APPEND CMAKE_MODULE_PATH ${rmcl_SOURCE_DIR}/cmake)
5353

54-
5554
find_package(TBB REQUIRED)
5655
if(TARGET TBB::tbb)
5756
set(TBB_INCLUDE_DIRS "")
@@ -61,7 +60,7 @@ endif()
6160
# only print warning for Rmagine version greater than RMAGINE_MAX_VERSION
6261
set(RMAGINE_MAX_VERSION "2.5.0")
6362

64-
find_package(rmagine 2.4.0
63+
find_package(rmagine 2.4
6564
COMPONENTS
6665
core
6766
OPTIONAL_COMPONENTS

rmcl_msgs/msg/PolarCoord.msg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# RANGE: range
2-
# PHI: vertical, y-rot, pitch, polar angle
2+
# PHI: vertical, y-rot, pitch, polar angle
33
# THETA: horizontal, z-rot, yaw, azimuth
44
float32 phi
55
float32 theta

rmcl_ros/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ find_package(visualization_msgs REQUIRED)
4848
find_package(std_srvs REQUIRED)
4949

5050

51-
find_package(rmagine 2.4.0
51+
find_package(rmagine 2.4
5252
COMPONENTS
5353
core
5454
OPTIONAL_COMPONENTS
@@ -59,7 +59,7 @@ find_package(rmagine 2.4.0
5959
vulkan-cuda-interop
6060
)
6161

62-
find_package(rmcl 2.4.0 REQUIRED)
62+
find_package(rmcl 2.4 REQUIRED)
6363
include_directories(${rmcl_INCLUDE_DIR})
6464

6565
# TODO: we can do this better. maybe put definitions to each target?

0 commit comments

Comments
 (0)