From b23560f744775f4c9a5f6b4d9eb83fe542eb71cd Mon Sep 17 00:00:00 2001 From: Eduardo Ponz Segrelles Date: Wed, 6 Sep 2023 16:22:46 +0200 Subject: [PATCH] Fix Linux installations from sources docs (#151) * Refs #19450: Add workflows for testing installation methods nightly Signed-off-by: Eduardo Ponz * Refs #19450: Correctly override ROS 2 packages Signed-off-by: Eduardo Ponz * Refs #19450: Install missing dependencies Signed-off-by: Eduardo Ponz * Refs #19450: Ignore some docs packages Signed-off-by: Eduardo Ponz * Refs #19450: Upgrade checkout action to v4 on docs.yaml Signed-off-by: Eduardo Ponz --------- Signed-off-by: Eduardo Ponz --- .github/workflows/docs.yaml | 2 +- .../workflows/install_linux_from_binaries.yaml | 18 ++++++++++++++++++ .../workflows/install_linux_from_sources.yaml | 18 ++++++++++++++++++ .../scripts/linux_source_installation.bash | 17 ++++++++++++++++- 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/install_linux_from_binaries.yaml create mode 100644 .github/workflows/install_linux_from_sources.yaml diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 3c4fae43..7bd1912b 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' diff --git a/.github/workflows/install_linux_from_binaries.yaml b/.github/workflows/install_linux_from_binaries.yaml new file mode 100644 index 00000000..1f4b3b88 --- /dev/null +++ b/.github/workflows/install_linux_from_binaries.yaml @@ -0,0 +1,18 @@ +name: Install from binaries Ubuntu + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + ubuntu-install-from-binaries: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install from binaries + run: | + bash docs/resources/scripts/linux_binary_installation.bash diff --git a/.github/workflows/install_linux_from_sources.yaml b/.github/workflows/install_linux_from_sources.yaml new file mode 100644 index 00000000..ef430142 --- /dev/null +++ b/.github/workflows/install_linux_from_sources.yaml @@ -0,0 +1,18 @@ +name: Install from sources Ubuntu + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + ubuntu-install-from-sources: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install from sources + run: | + bash docs/resources/scripts/linux_source_installation.bash diff --git a/docs/resources/scripts/linux_source_installation.bash b/docs/resources/scripts/linux_source_installation.bash index cc3646c6..3ae7bf6a 100755 --- a/docs/resources/scripts/linux_source_installation.bash +++ b/docs/resources/scripts/linux_source_installation.bash @@ -89,24 +89,39 @@ rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext ##LINUX_SOURCE_CLONE_VULCA cd ~ cd vulcanexus_iron + # Remove ROS 2 packages overridden by Vulcanexus -rm -rf src/ros2/rosidl_typesupport_fastrtps/ src/eProsima/foonathan_memory_vendor/ src/ros2/rmw_fastrtps/ +rm -rf \ + src/eProsima/foonathan_memory_vendor/ \ + src/ros2/rosidl_typesupport_fastrtps/ \ + src/ros2/rosidl_dynamic_typesupport_fastrtps \ + src/ros2/rmw_fastrtps/ + # Get Vulcanexus sources wget https://raw.githubusercontent.com/eProsima/vulcanexus/iron/vulcanexus.repos wget https://raw.githubusercontent.com/eProsima/vulcanexus/iron/colcon.meta vcs import --force src < vulcanexus.repos + +# Avoid compilation of some documentation and demo packages +touch src/eProsima/Fast-DDS-QoS-Profiles-Manager/docs/COLCON_IGNORE +touch src/eProsima/Vulcanexus-Base/docs/COLCON_IGNORE +touch src/eProsima/Vulcanexus-Base/code/COLCON_IGNORE ##! ##LINUX_SOURCE_VULCA_DEPS sudo apt update && sudo apt install -y \ libasio-dev \ + libdocopt-dev \ libengine-pkcs11-openssl \ liblog4cxx-dev \ + liblz4-dev \ libp11-dev \ libqt5charts5-dev \ libssl-dev \ libtinyxml2-dev \ + libxerces-c-dev \ libyaml-cpp-dev \ + libzstd-dev \ openjdk-8-jdk \ python3-sphinx \ python3-sphinx-rtd-theme \