Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions linux_docker_resources/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,15 @@ RUN apt-get update && apt-get install --no-install-recommends -y lcov
RUN pip3 install -U git+https://github.com/ahcorde/lcov-to-cobertura-xml@master

# Install the Connext binary from the OSRF repositories. if ROS_DISTRO is humble or jazzy
# install rti-connext-dds-6.0.1 else install rti-connext-dds-7.3.0-ros.
# install rti-connext-dds-6.0.1 else if ROS_DISTRO is kilted install rti-connext-dds-7.3.0-ros
# else install rti-connext-dds-7.7.0-ros.
RUN if test \( ${PLATFORM} = x86 -a ${INSTALL_CONNEXT_DEBS} = true \); then \
if test \( ${ROS_DISTRO} = humble -o ${ROS_DISTRO} = jazzy \); then \
apt-get update && RTI_NC_LICENSE_ACCEPTED=yes apt-get install -y rti-connext-dds-6.0.1; \
else \
elif test ${ROS_DISTRO} = kilted; then \
apt-get update && RTI_NC_LICENSE_ACCEPTED=yes apt-get install -y rti-connext-dds-7.3.0-ros; \
else \
apt-get update && RTI_NC_LICENSE_ACCEPTED=yes apt-get install -y rti-connext-dds-7.7.0-ros; \
fi; \
fi

Expand All @@ -174,20 +177,27 @@ RUN apt-get update && apt-get install --no-install-recommends -y python3-pexpect
COPY rticonnextdds-src/ /tmp/rticonnextdds-src

# Join the correct Connext version files based on the value of ROS_DISTRO.
RUN if test ${ROS_DISTRO} = jazzy -o ${ROS_DISTRO} = humble; then \
RUN \
if test ${ROS_DISTRO} = jazzy -o ${ROS_DISTRO} = humble; then \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1.25-pro-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1.25-pro-target-x64Linux4gcc7.3.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
else \
elif test ${ROS_DISTRO} = kilted; then \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-7.3.0-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
fi
else \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-7.7.0-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-7.7.0-pro-target-x64Linux4gcc8.5.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
fi

# Make the RTI Connext installation script executable. For any version of Connext.
RUN chmod 755 /tmp/rticonnextdds-src/rti_connext_dds-*-pro-host-x64Linux.run
Expand Down
13 changes: 10 additions & 3 deletions linux_docker_resources/Dockerfile-RHEL
Original file line number Diff line number Diff line change
Expand Up @@ -194,20 +194,27 @@ RUN dnf install \
COPY rticonnextdds-src/ /tmp/rticonnextdds-src

# Join the correct Connext version files based on the value of ROS_DISTRO.
RUN if test ${ROS_DISTRO} = jazzy -o ${ROS_DISTRO} = humble; then \
RUN \
if test ${ROS_DISTRO} = jazzy -o ${ROS_DISTRO} = humble; then \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1.25-pro-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_connext_dds-6.0.1.25-pro-target-x64Linux4gcc7.3.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
else \
elif test ${ROS_DISTRO} = kilted; then \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-7.3.0-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
fi
else \
for splitpkg in \
/tmp/rticonnextdds-src/rti_connext_dds-7.7.0-pro-host-x64Linux.run \
/tmp/rticonnextdds-src/rti_connext_dds-7.7.0-pro-target-x64Linux4gcc8.5.0.rtipkg; do \
cat $(echo ${splitpkg}.0?? | sort) > $splitpkg; \
done; \
fi

# Make the RTI Connext installation script executable. For any version of Connext.
RUN chmod 755 /tmp/rticonnextdds-src/rti_connext_dds-*-pro-host-x64Linux.run
Expand Down
86 changes: 64 additions & 22 deletions linux_docker_resources/entry_point.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,50 +41,92 @@ if [ "${ARCH}" = "x86_64" -a "${ID}" = "ubuntu" ]; then
if [ -z "${IGNORE_CONNEXTDDS}" ]; then
echo "Installing Connext..."

export CONNEXT_FULL_VERSION="7.3.0"
# Set Connext version, OpenSSL version and base/target architecture variables:
# - Lyrical/Rolling:
# - Version: Connext 7.7.0
# - OpenSSL version: 3.5.5
# - Base architecture: x64Linux4gcc8.5.0
# - Target architecture: x64Linux4gcc8.5.0
# - Kilted:
# - Version: Connext 7.3.0
# - OpenSSL version: 3.0.12
# - Base architecture: x64Linux3gcc4.8.2
# - Target architecture: x64Linux4gcc7.3.0
# - Humble/Jazzy:
# - Version: Connext 6.0.1.25
# - OpenSSL version: 1.1.1k
# - Base architecture: x64Linux2.6gcc4.4.5
# - Target architecture: x64Linux4gcc7.3.0
export CONNEXT_FULL_VERSION="7.7.0"
export CONNEXT_DISPLAY_VERSION="$CONNEXT_FULL_VERSION"
if [ "${ROS_DISTRO}" = "jazzy" ] || [ "${ROS_DISTRO}" = "humble" ]; then
export CONNEXT_FULL_VERSION="6.0.1.25"
export CONNEXT_DISPLAY_VERSION="${CONNEXT_FULL_VERSION%.*}"
fi
export OPENSSL_VERSION="3.5.5"
export CONNEXT_BASE_ARCH="x64Linux4gcc8.5.0"
export CONNEXT_TARGET_ARCH="$CONNEXT_BASE_ARCH"
case "${ROS_DISTRO}" in
lyrical)
export CONNEXT_FULL_VERSION="7.7.0"
export CONNEXT_DISPLAY_VERSION="$CONNEXT_FULL_VERSION"
export OPENSSL_VERSION="3.5.5"
export CONNEXT_BASE_ARCH="x64Linux4gcc8.5.0"
export CONNEXT_TARGET_ARCH="$CONNEXT_BASE_ARCH"
;;
kilted)
export CONNEXT_FULL_VERSION="7.3.0"
export CONNEXT_DISPLAY_VERSION="$CONNEXT_FULL_VERSION"
export OPENSSL_VERSION="3.0.12"
export CONNEXT_BASE_ARCH="x64Linux4gcc7.3.0"
export CONNEXT_TARGET_ARCH="x64Linux3gcc4.8.2"
;;
humble|jazzy)
export CONNEXT_FULL_VERSION="6.0.1.25"
export CONNEXT_DISPLAY_VERSION="${CONNEXT_FULL_VERSION%.*}"
export OPENSSL_VERSION="1.1.1k"
export CONNEXT_BASE_ARCH="x64Linux4gcc7.3.0"
export CONNEXT_TARGET_ARCH="x64Linux2.6gcc4.4.5"
;;
*)
# Rolling case. Nothing to do.
;;
esac

case "${CI_ARGS}" in
*--connext-debs*)
echo "Using Debian package of Connext"
if test -r /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.sh; then
echo "Sourcing RTI setenv script /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.sh"
. /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.sh
if test -r /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_${CONNEXT_TARGET_ARCH}.sh; then
echo "Sourcing RTI setenv script /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_${CONNEXT_TARGET_ARCH}.sh"
. /opt/rti.com/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}/resource/scripts/rtisetenv_${CONNEXT_TARGET_ARCH}.sh
fi
;;
*)
echo "Installing Connext binaries off RTI website..."
if test -x /tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}-pro-host-x64Linux.run; then
rtipkg_list="\
/tmp/rticonnextdds-src/openssl-3.0.12-${CONNEXT_FULL_VERSION}-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/openssl-3.0.12-${CONNEXT_FULL_VERSION}-target-x64Linux4gcc7.3.0.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-host-openssl-3.0-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-target-openssl-3.0-x64Linux4gcc7.3.0.rtipkg \
/tmp/rticonnextdds-src/openssl-${OPENSSL_VERSION}-${CONNEXT_FULL_VERSION}-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/openssl-${OPENSSL_VERSION}-${CONNEXT_FULL_VERSION}-target-${CONNEXT_TARGET_ARCH}.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-host-openssl-${OPENSSL_VERSION}-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-target-openssl-${OPENSSL_VERSION}-${CONNEXT_TARGET_ARCH}.rtipkg \
"
connext_base_architecture="x64Linux3gcc4.8.2"
if [ "${CONNEXT_FULL_VERSION}" = "6.0.1.25" ]; then

if [ "${ROS_DISTRO}" = "humble" ] || [ "${ROS_DISTRO}" = "jazzy" ]; then
rtipkg_list="\
/tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_FULL_VERSION}-pro-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/openssl-1.1.1k-${CONNEXT_FULL_VERSION}-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/openssl-${OPENSSL_VERSION}-${CONNEXT_FULL_VERSION}-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-host-x64Linux.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-target-x64Linux4gcc7.3.0.rtipkg \
/tmp/rticonnextdds-src/rti_security_plugins-${CONNEXT_FULL_VERSION}-target-${CONNEXT_TARGET_ARCH}.rtipkg \
"
connext_base_architecture="x64Linux2.6gcc4.4.5"
fi
python3 -u /tmp/rti_web_binaries_install_script.py /tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}-pro-host-x64Linux.run \
/home/rosbuild/rti_connext_dds-${CONNEXT_DISPLAY_VERSION} --rtipkg_paths \
/tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_FULL_VERSION}-pro-target-x64Linux4gcc7.3.0.rtipkg \
$rtipkg_list
python3 -u /tmp/rti_web_binaries_install_script.py \
/tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}-pro-host-x64Linux.run \
/home/rosbuild/rti_connext_dds-${CONNEXT_DISPLAY_VERSION} \
--rtipkg_paths \
/tmp/rticonnextdds-src/rti_connext_dds-${CONNEXT_FULL_VERSION}-pro-target-${CONNEXT_TARGET_ARCH}.rtipkg \
$rtipkg_list
if [ $? -ne 0 ]; then
echo "Connext not installed correctly (maybe you're on an ARM machine?)." >&2
exit 1
fi
export CONNEXTDDS_DIR=/home/rosbuild/rti_connext_dds-${CONNEXT_DISPLAY_VERSION}
export RTI_OPENSSL_LIBS=$CONNEXTDDS_DIR/resource/app/lib/${connext_base_architecture}
export RTI_OPENSSL_LIBS=$CONNEXTDDS_DIR/resource/app/lib/${CONNEXT_BASE_ARCH}
else
echo "No connext installation files found found." >&2
exit 1
Expand Down
23 changes: 11 additions & 12 deletions windows_docker_resources/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,25 +59,24 @@ RUN pixi --color never --no-progress -q run "pip install 'colcon-ros-domain-id-c

# Setup environment variables needed for Connext
ENV RTI_LICENSE_FILE C:\connext\rti_license.dat
ENV CONNEXTDDS_DIR C:\connext\rti_connext_dds-7.3.0
ENV RTI_OPENSSL_BIN C:\connext\openssl-3.0.12\x64Win64VS2017\bin
ENV RTI_OPENSSL_LIB C:\connext\openssl-3.0.12\x64Win64VS2017\lib
ENV CONNEXTDDS_DIR C:\connext\rti_connext_dds-7.7.0
ENV RTI_OPENSSL_BIN C:\connext\openssl-3.5.5\x64Win64VS2017\bin
ENV RTI_OPENSSL_LIB C:\connext\openssl-3.5.5\x64Win64VS2017\lib

# Copy over necessary Connext files into container
RUN IF NOT EXIST "C:\TEMP" mkdir C:\TEMP
COPY rticonnextdds-src\ C:\TEMP\rticonnextdds-src
RUN copy /b C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-host-x64Win64.exe.??? C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-host-x64Win64.exe
RUN copy /b C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-target-x64Win64VS2017.rtipkg.??? C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-target-x64Win64VS2017.rtipkg
RUN copy /b C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-host-x64Win64.exe.??? C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-host-x64Win64.exe
RUN copy /b C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-target-x64Win64VS2017.rtipkg.??? C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-target-x64Win64VS2017.rtipkg
COPY rticonnextdds-license\rti_license.dat $RTI_LICENSE_FILE

# Install Connext
RUN C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-host-x64Win64.exe --mode unattended --unattendedmodeui minimalWithDialogs --prefix C:\connext
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\openssl-3.0.12-7.3.0-host-x64Win64.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\openssl-3.0.12-7.3.0-target-x64Win64VS2017.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_connext_dds-7.3.0-pro-target-x64Win64VS2017.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_security_plugins-7.3.0-host-x64Win64.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_security_plugins-7.3.0-target-x64Win64VS2017.rtipkg

RUN C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-host-x64Win64.exe --mode unattended --unattendedmodeui minimalWithDialogs --prefix C:\connext
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\openssl-3.5.5-7.7.0-host-x64Win64.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\openssl-3.5.5-7.7.0-target-x64Win64VS2017.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_connext_dds-7.7.0-pro-target-x64Win64VS2017.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_security_plugins-7.7.0-host-x64Win64.rtipkg
RUN %CONNEXTDDS_DIR%\bin\rtipkginstall.bat -u C:\TEMP\rticonnextdds-src\rti_security_plugins-7.7.0-target-x64Win64VS2017.rtipkg
WORKDIR C:\ci
# Note that this *must* be in shell form, not exec form, so Docker on Windows appropriately substitutes %CI_ARGS%
CMD "pixi run --manifest-path C:\pixi_ws\pixi.toml --frozen python run_ros2_batch.py %CI_ARGS%"