Skip to content

Commit fcf554f

Browse files
committed
Add ROS 2 Jazzy CI support and multi-distribution testing
- Add GitHub Actions workflow for ROS 2 Jazzy (Ubuntu 24.04) - Add multi-distribution CI workflow (Humble, Iron, Jazzy) - Update README with CI badges - Document supported ROS 2 distributions
1 parent 2f74f71 commit fcf554f

File tree

3 files changed

+141
-0
lines changed

3 files changed

+141
-0
lines changed

.github/workflows/jazzy.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: ROS 2 Jazzy CI
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
pull_request:
7+
branches: [ main, master ]
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-24.04
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
ros_distro: [jazzy]
17+
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v4
21+
with:
22+
path: src/qt_rviz2_tutorial
23+
24+
- name: Setup ROS 2 environment
25+
uses: ros-tooling/setup-ros@v0.7
26+
with:
27+
required-ros-distributions: ${{ matrix.ros_distro }}
28+
29+
- name: Install dependencies
30+
run: |
31+
sudo apt-get update
32+
sudo apt-get install -y \
33+
python3-colcon-common-extensions \
34+
python3-rosdep \
35+
qtbase5-dev \
36+
qtdeclarative5-dev \
37+
libqt5svg5-dev
38+
39+
- name: Initialize rosdep
40+
run: |
41+
sudo rosdep init || true
42+
rosdep update
43+
44+
- name: Install package dependencies
45+
run: |
46+
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
47+
rosdep install --from-paths src --ignore-src -r -y
48+
49+
- name: Build workspace
50+
run: |
51+
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
52+
colcon build --symlink-install \
53+
--cmake-args -DCMAKE_BUILD_TYPE=Release \
54+
--event-handlers console_direct+
55+
56+
- name: Run tests
57+
run: |
58+
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
59+
source install/setup.bash
60+
colcon test --event-handlers console_direct+
61+
colcon test-result --verbose

.github/workflows/ros2_ci.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: ROS 2 CI (Multi-Distribution)
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
pull_request:
7+
branches: [ main, master ]
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- ros_distro: humble
18+
ubuntu_version: ubuntu-22.04
19+
- ros_distro: iron
20+
ubuntu_version: ubuntu-22.04
21+
- ros_distro: jazzy
22+
ubuntu_version: ubuntu-24.04
23+
24+
container:
25+
image: ros:${{ matrix.ros_distro }}-ros-base
26+
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
with:
31+
path: src/qt_rviz2_tutorial
32+
33+
- name: Install dependencies
34+
run: |
35+
apt-get update
36+
apt-get install -y \
37+
python3-colcon-common-extensions \
38+
python3-rosdep \
39+
qtbase5-dev \
40+
qtdeclarative5-dev \
41+
libqt5svg5-dev
42+
43+
- name: Initialize rosdep
44+
run: |
45+
rosdep init || true
46+
rosdep update
47+
48+
- name: Install package dependencies
49+
run: |
50+
. /opt/ros/${{ matrix.ros_distro }}/setup.sh
51+
rosdep install --from-paths src --ignore-src -r -y
52+
53+
- name: Build workspace
54+
run: |
55+
. /opt/ros/${{ matrix.ros_distro }}/setup.sh
56+
colcon build --symlink-install \
57+
--cmake-args -DCMAKE_BUILD_TYPE=Release \
58+
--event-handlers console_direct+
59+
60+
- name: Run tests
61+
run: |
62+
. /opt/ros/${{ matrix.ros_distro }}/setup.sh
63+
. install/setup.sh
64+
colcon test --event-handlers console_direct+
65+
colcon test-result --verbose

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
11
# qt_rviz2_tutorial
22

3+
[![ROS 2 CI (Multi-Distribution)](https://github.com/NITKK-ROS-Team/qt_rviz2_tutorial/actions/workflows/ros2_ci.yml/badge.svg)](https://github.com/NITKK-ROS-Team/qt_rviz2_tutorial/actions/workflows/ros2_ci.yml)
4+
[![ROS 2 Jazzy CI](https://github.com/NITKK-ROS-Team/qt_rviz2_tutorial/actions/workflows/jazzy.yml/badge.svg)](https://github.com/NITKK-ROS-Team/qt_rviz2_tutorial/actions/workflows/jazzy.yml)
5+
36
QtはC++を使用したGUI開発によく使われるツールキットであり、Rviz2のpanelに使用できます。
47

58
このチュートリアルでは、Qtの基本からRviz2プラグインの作成までを目標としています。
69

710
<br>
811

12+
## サポートされているROS 2ディストリビューション
13+
14+
このプロジェクトは以下のROS 2ディストリビューションでテストされています:
15+
16+
- ROS 2 Humble Hawksbill (Ubuntu 22.04)
17+
- ROS 2 Iron Irwini (Ubuntu 22.04)
18+
- ROS 2 Jazzy Jalisco (Ubuntu 24.04)
19+
20+
CI(継続的インテグレーション)により、各ディストリビューションでのビルドとテストが自動的に実行されます。
21+
22+
<br>
23+
924
## 対象
1025

1126
C++とCMakeListsが読める人。

0 commit comments

Comments
 (0)