Add ros2 jazzy support.
This commit is contained in:
parent
05d2c194d0
commit
cae671ccda
|
|
@ -17,7 +17,7 @@ jobs:
|
||||||
- run: docker build . --file ./tests/Dockerfile_no_ros --tag r2r_no_ros
|
- run: docker build . --file ./tests/Dockerfile_no_ros --tag r2r_no_ros
|
||||||
- run: docker run r2r_no_ros cargo build --features doc-only
|
- run: docker run r2r_no_ros cargo build --features doc-only
|
||||||
|
|
||||||
minimal_workspace_iron:
|
minimal_workspace_jazzy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
@ -26,8 +26,15 @@ jobs:
|
||||||
with:
|
with:
|
||||||
repository: m-dahl/r2r_minimal_node
|
repository: m-dahl/r2r_minimal_node
|
||||||
path: r2r_minimal_node
|
path: r2r_minimal_node
|
||||||
- run: docker build . --file ./tests/Dockerfile_iron --tag r2r_iron
|
- run: docker build . --file ./tests/Dockerfile_jazzy --tag r2r_jazzy
|
||||||
- run: docker run r2r_iron /r2r/tests/build_minimal_node.bash
|
- run: docker run r2r_jazzy /r2r/tests/build_minimal_node.bash
|
||||||
|
|
||||||
|
tests_jazzy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- run: docker build . --file ./tests/Dockerfile_jazzy --tag r2r_jazzy
|
||||||
|
- run: docker run r2r_jazzy cargo test
|
||||||
|
|
||||||
tests_iron:
|
tests_iron:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ Since the default behavior is to build all sourced message types, build time can
|
||||||
|
|
||||||
What works?
|
What works?
|
||||||
--------------------
|
--------------------
|
||||||
- Up to date with ROS2 ~Dashing~ ~Eloquent~ Foxy Galactic Humble Iron
|
- Up to date with ROS2 ~Dashing~ ~Eloquent~ Foxy Galactic Humble Iron Jazzy
|
||||||
- Building Rust types
|
- Building Rust types
|
||||||
- Publish/subscribe
|
- Publish/subscribe
|
||||||
- Services
|
- Services
|
||||||
|
|
@ -46,6 +46,7 @@ What works?
|
||||||
Changelog
|
Changelog
|
||||||
--------------------
|
--------------------
|
||||||
#### [Unreleased]
|
#### [Unreleased]
|
||||||
|
- Update for ros2 jazzy <https://github.com/sequenceplanner/r2r/pull/100>
|
||||||
|
|
||||||
#### [0.9.0] - 2024-05-17
|
#### [0.9.0] - 2024-05-17
|
||||||
- Fix unsafe precondition(s) violated with rust 1.78 <https://github.com/sequenceplanner/r2r/issues/96>. There may be more of these to fix, please report if you encounter.
|
- Fix unsafe precondition(s) violated with rust 1.78 <https://github.com/sequenceplanner/r2r/issues/96>. There may be more of these to fix, please report if you encounter.
|
||||||
|
|
|
||||||
|
|
@ -141,12 +141,21 @@ pub const ROS_DISTRO: &str = "foxy";
|
||||||
pub const ROS_DISTRO: &str = "galactic";
|
pub const ROS_DISTRO: &str = "galactic";
|
||||||
#[cfg(r2r__ros__distro__humble)]
|
#[cfg(r2r__ros__distro__humble)]
|
||||||
pub const ROS_DISTRO: &str = "humble";
|
pub const ROS_DISTRO: &str = "humble";
|
||||||
|
#[cfg(r2r__ros__distro__iron)]
|
||||||
|
pub const ROS_DISTRO: &str = "iron";
|
||||||
|
#[cfg(r2r__ros__distro__jazzy)]
|
||||||
|
pub const ROS_DISTRO: &str = "jazzy";
|
||||||
|
|
||||||
#[cfg(r2r__ros__distro__rolling)]
|
#[cfg(r2r__ros__distro__rolling)]
|
||||||
pub const ROS_DISTRO: &str = "rolling";
|
pub const ROS_DISTRO: &str = "rolling";
|
||||||
|
|
||||||
#[cfg(not(any(
|
#[cfg(not(any(
|
||||||
r2r__ros__distro__foxy,
|
r2r__ros__distro__foxy,
|
||||||
r2r__ros__distro__galactic,
|
r2r__ros__distro__galactic,
|
||||||
r2r__ros__distro__humble,
|
r2r__ros__distro__humble,
|
||||||
|
r2r__ros__distro__iron,
|
||||||
|
r2r__ros__distro__jazzy,
|
||||||
|
|
||||||
r2r__ros__distro__rolling
|
r2r__ros__distro__rolling
|
||||||
)))]
|
)))]
|
||||||
pub const ROS_DISTRO: &str = "unknown";
|
pub const ROS_DISTRO: &str = "unknown";
|
||||||
|
|
|
||||||
|
|
@ -251,7 +251,7 @@ pub enum ReliabilityPolicy {
|
||||||
BestEffort,
|
BestEffort,
|
||||||
Reliable,
|
Reliable,
|
||||||
SystemDefault,
|
SystemDefault,
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
BestAvailable,
|
BestAvailable,
|
||||||
Unknown,
|
Unknown,
|
||||||
}
|
}
|
||||||
|
|
@ -267,7 +267,7 @@ impl From<ReliabilityPolicy> for rmw_qos_reliability_policy_t {
|
||||||
ReliabilityPolicy::SystemDefault => {
|
ReliabilityPolicy::SystemDefault => {
|
||||||
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
|
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
ReliabilityPolicy::BestAvailable => {
|
ReliabilityPolicy::BestAvailable => {
|
||||||
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_BEST_AVAILABLE
|
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_BEST_AVAILABLE
|
||||||
}
|
}
|
||||||
|
|
@ -290,7 +290,7 @@ impl From<rmw_qos_reliability_policy_t> for ReliabilityPolicy {
|
||||||
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT => {
|
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT => {
|
||||||
ReliabilityPolicy::SystemDefault
|
ReliabilityPolicy::SystemDefault
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_BEST_AVAILABLE => {
|
rmw_qos_reliability_policy_t::RMW_QOS_POLICY_RELIABILITY_BEST_AVAILABLE => {
|
||||||
ReliabilityPolicy::BestAvailable
|
ReliabilityPolicy::BestAvailable
|
||||||
}
|
}
|
||||||
|
|
@ -306,7 +306,7 @@ pub enum DurabilityPolicy {
|
||||||
TransientLocal,
|
TransientLocal,
|
||||||
Volatile,
|
Volatile,
|
||||||
SystemDefault,
|
SystemDefault,
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
BestAvailable,
|
BestAvailable,
|
||||||
Unknown,
|
Unknown,
|
||||||
}
|
}
|
||||||
|
|
@ -323,7 +323,7 @@ impl From<DurabilityPolicy> for rmw_qos_durability_policy_t {
|
||||||
DurabilityPolicy::SystemDefault => {
|
DurabilityPolicy::SystemDefault => {
|
||||||
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
|
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
DurabilityPolicy::BestAvailable => {
|
DurabilityPolicy::BestAvailable => {
|
||||||
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_BEST_AVAILABLE
|
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_BEST_AVAILABLE
|
||||||
}
|
}
|
||||||
|
|
@ -346,7 +346,7 @@ impl From<rmw_qos_durability_policy_t> for DurabilityPolicy {
|
||||||
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT => {
|
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT => {
|
||||||
DurabilityPolicy::SystemDefault
|
DurabilityPolicy::SystemDefault
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_BEST_AVAILABLE => {
|
rmw_qos_durability_policy_t::RMW_QOS_POLICY_DURABILITY_BEST_AVAILABLE => {
|
||||||
DurabilityPolicy::BestAvailable
|
DurabilityPolicy::BestAvailable
|
||||||
}
|
}
|
||||||
|
|
@ -363,7 +363,7 @@ pub enum LivelinessPolicy {
|
||||||
ManualByNode,
|
ManualByNode,
|
||||||
ManualByTopic,
|
ManualByTopic,
|
||||||
SystemDefault,
|
SystemDefault,
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
BestAvailable,
|
BestAvailable,
|
||||||
Unknown,
|
Unknown,
|
||||||
}
|
}
|
||||||
|
|
@ -383,7 +383,7 @@ impl From<LivelinessPolicy> for rmw_qos_liveliness_policy_t {
|
||||||
LivelinessPolicy::SystemDefault => {
|
LivelinessPolicy::SystemDefault => {
|
||||||
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
|
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
LivelinessPolicy::BestAvailable => {
|
LivelinessPolicy::BestAvailable => {
|
||||||
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_BEST_AVAILABLE
|
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_BEST_AVAILABLE
|
||||||
}
|
}
|
||||||
|
|
@ -409,7 +409,7 @@ impl From<rmw_qos_liveliness_policy_t> for LivelinessPolicy {
|
||||||
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT => {
|
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT => {
|
||||||
LivelinessPolicy::SystemDefault
|
LivelinessPolicy::SystemDefault
|
||||||
}
|
}
|
||||||
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__rolling))]
|
#[cfg(any(r2r__ros__distro__iron, r2r__ros__distro__jazzy, r2r__ros__distro__rolling))]
|
||||||
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_BEST_AVAILABLE => {
|
rmw_qos_liveliness_policy_t::RMW_QOS_POLICY_LIVELINESS_BEST_AVAILABLE => {
|
||||||
LivelinessPolicy::BestAvailable
|
LivelinessPolicy::BestAvailable
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ use std::{
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(not(feature = "doc-only"))]
|
#[cfg(not(feature = "doc-only"))]
|
||||||
const SUPPORTED_ROS_DISTROS: &[&str] = &["foxy", "galactic", "humble", "iron", "rolling"];
|
const SUPPORTED_ROS_DISTROS: &[&str] = &["foxy", "galactic", "humble", "iron", "jazzy", "rolling"];
|
||||||
|
|
||||||
const WATCHED_ENV_VARS: &[&str] = &[
|
const WATCHED_ENV_VARS: &[&str] = &[
|
||||||
"AMENT_PREFIX_PATH",
|
"AMENT_PREFIX_PATH",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
FROM ros:jazzy
|
||||||
|
|
||||||
|
# Update default packages
|
||||||
|
RUN apt-get update
|
||||||
|
|
||||||
|
# Get Ubuntu packages
|
||||||
|
RUN apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
curl \
|
||||||
|
libclang-dev
|
||||||
|
|
||||||
|
# Get ros test messages
|
||||||
|
RUN apt-get install -y ros-jazzy-test-msgs ros-jazzy-example-interfaces
|
||||||
|
|
||||||
|
# Get Rust
|
||||||
|
RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | bash -s -- -y
|
||||||
|
RUN echo 'source $HOME/.cargo/env' >> $HOME/.bashrc
|
||||||
|
|
||||||
|
COPY . /r2r
|
||||||
|
RUN chmod +x /r2r/tests/test.bash
|
||||||
|
ENTRYPOINT [ "/r2r/tests/test.bash" ]
|
||||||
|
|
@ -5,7 +5,9 @@
|
||||||
# run rustup to test with latest rust version
|
# run rustup to test with latest rust version
|
||||||
rustup update
|
rustup update
|
||||||
|
|
||||||
if [ -e "/opt/ros/iron/setup.bash" ]; then
|
if [ -e "/opt/ros/jazzy/setup.bash" ]; then
|
||||||
|
source "/opt/ros/jazzy/setup.bash"
|
||||||
|
elif [ -e "/opt/ros/iron/setup.bash" ]; then
|
||||||
source "/opt/ros/iron/setup.bash"
|
source "/opt/ros/iron/setup.bash"
|
||||||
elif [ -e "/opt/ros/humble/setup.bash" ]; then
|
elif [ -e "/opt/ros/humble/setup.bash" ]; then
|
||||||
source "/opt/ros/humble/setup.bash"
|
source "/opt/ros/humble/setup.bash"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue