Skip to content

add ci config

add ci config #4

name: Humble_test_mros_to_mros_String
on:
push:
branches:
- "main"
- "feat/add_ci_config"
pull_request:
types: [opened, synchronize, labeled]
jobs:
ci:
runs-on: ${{ matrix.os }}
if: |
((github.event.action == 'labeled') && (github.event.label.name == 'TESTING') && (github.base_ref == 'main' )) ||
((github.event.action == 'synchronize') && (github.base_ref == 'main') && contains(github.event.pull_request.labels.*.name, 'TESTING')) ||
(github.ref_name == 'main')
container:
image: osrf/ros:${{ matrix.ros_distribution }}-desktop
timeout-minutes: 3
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
ros_distribution: [humble]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: update
run: sudo apt-get update
- name: setup and install tools
run: >
sudo apt-get install -y git wget build-essential gcc g++ libssl-dev libreadline-dev
zlib1g-dev make autoconf automake cmake pkg-config curl net-tools netcat python3-jinja2
- name: Clone Test Stub
uses: actions/checkout@v3
with:
repository: mROS-base/mros2-host-examples
path: ws_host/src/mros2-host-examples
- name: Run IP update script
run: |
chmod +x update_ip.sh
./update_ip.sh
- name: Build echoback mROS
shell: bash
run: |
bash build.bash clean
bash build.bash all test_echoback_twist
mv cmake_build/ cmake_build_test_echoback_twist/
- name: Build reply mROS
shell: bash
run: |
bash build.bash clean
bash build.bash all test_echoback_twist_responder
- name: Run mROS and Native ROS
shell: bash
run : |
./cmake_build_test_echoback_twist/mros2-posix &
mros_pid=$! # テストプログラムのプロセスIDを取得
# テスト対象をバックグラウンドで実行
./cmake_build/mros2-posix &
# mROSが終了するまで待つ
wait $mros_pid
mros_status=$?
# 結果に基づいてCIの成否を判断
if [ $mros_status -eq 0 ] ;then
echo "Succeed pub/sub test process between mros2 and Native ROS"
exit 0
else
echo "Fail pub/sub test process between mros2 and Native ROS"
exit 1
fi