Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Linux installation from sources #220

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
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
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
31 changes: 31 additions & 0 deletions .github/workflows/jazzy_sources_ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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:
- 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://raw.githubusercontent.com/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://raw.githubusercontent.com/eProsima/vulcanexus/jazzy/vulcanexus.repos
wget https://raw.githubusercontent.com/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
Loading