standalone rclrs testing

This commit is contained in:
stelzo 2024-03-25 12:35:46 +01:00
parent 152fce79a3
commit bc447afe60
8 changed files with 110 additions and 0 deletions

View File

@ -2,7 +2,13 @@ name: r2r_galactic
on:
push:
branches:
- "*"
- "!rclrs"
pull_request:
branches:
- "*"
- "!rclrs"
workflow_dispatch:
env:

View File

@ -2,7 +2,13 @@ name: r2r_humble
on:
push:
branches:
- "*"
- "!rclrs"
pull_request:
branches:
- "*"
- "!rclrs"
workflow_dispatch:
env:

View File

@ -2,7 +2,13 @@ name: r2r_iron
on:
push:
branches:
- "*"
- "!rclrs"
pull_request:
branches:
- "*"
- "!rclrs"
workflow_dispatch:
env:

21
.github/workflows/rclrs_humble.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: rclrs_humble
on:
push:
branches:
- rclrs
pull_request:
branches:
- rclrs
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
tests_humble:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: docker build . --file ./tests/Dockerfile_rclrs_humble --tag rclrs_humble
- run: docker run rclrs_humble cargo test

View File

@ -2,7 +2,13 @@ name: rosrust_noetic
on:
push:
branches:
- "*"
- "!rclrs"
pull_request:
branches:
- "*"
- "!rclrs"
workflow_dispatch:
jobs:

View File

@ -2,7 +2,13 @@ name: Tests
on:
push:
branches:
- "*"
- "!rclrs"
pull_request:
branches:
- "*"
- "!rclrs"
workflow_dispatch:
env:

View File

@ -0,0 +1,34 @@
# syntax=docker/dockerfile:1
FROM ros:humble
# Update default packages
RUN apt-get update
# Get Ubuntu packages
RUN apt-get install -y \
build-essential \
curl \
libclang-dev \
git \
python3-pip \
python3-vcstool
# Get Rust
RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | bash -s -- -y
RUN echo 'source $HOME/.cargo/env' >> $HOME/.bashrc
RUN . $HOME/.cargo/env && cargo install --debug cargo-ament-build
RUN pip install git+https://github.com/colcon/colcon-cargo.git
RUN pip install git+https://github.com/colcon/colcon-ros-cargo.git
WORKDIR /ros2_rust_build
RUN git clone https://github.com/ros2-rust/ros2_rust.git src/ros2_rust
RUN vcs import src < src/ros2_rust/ros2_rust_humble.repos
WORKDIR /ros2_rust_build/src/ros_pointcloud2_tests
COPY . .
WORKDIR /ros2_rust_build
RUN . $HOME/.cargo/env && . /opt/ros/humble/setup.sh && colcon build
RUN chmod +x /ros2_rust_build/src/ros_pointcloud2_tests/tests/rclrs_test.bash
ENTRYPOINT [ "/ros2_rust_build/src/ros_pointcloud2_tests/tests/rclrs_test.bash" ]

25
tests/rclrs_test.bash Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
. "$HOME/.cargo/env"
# run rustup to test with latest rust version
rustup update
if [ -e "/opt/ros/iron/setup.bash" ]; then
. "/opt/ros/iron/setup.bash"
. "/ros2_rust_build/install/local_setup.bash"
fi
if [ -e "/opt/ros/humble/setup.bash" ]; then
. "/opt/ros/humble/setup.bash"
. "/ros2_rust_build/install/local_setup.bash"
fi
if [ -e "/opt/ros/galactic/setup.bash" ]; then
. "/opt/ros/galactic/setup.bash"
. "/ros2_rust_build/install/local_setup.bash"
fi
cd /ros2_rust_build/src/ros_pointcloud2_tests/ || exit
"$@"