From 2e0c66afd2646e1dc88816bc69afef81cced86c3 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Wed, 2 Sep 2026 11:15:22 -0700 Subject: [PATCH 1/4] Add ROS 2 Lyrical support Signed-off-by: Blake McHale --- .github/workflows/debian-packages.yml | 11 ++++++++--- .github/workflows/ros-tests.yml | 3 +++ README.md | 2 +- scripts/build_debian_packages.sh | 9 +++++---- scripts/docker-test.sh | 7 +++++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.github/workflows/debian-packages.yml b/.github/workflows/debian-packages.yml index 186d2cc..d92ed04 100644 --- a/.github/workflows/debian-packages.yml +++ b/.github/workflows/debian-packages.yml @@ -24,7 +24,7 @@ on: workflow_dispatch: # Manual trigger inputs: ros_distros: - description: 'ROS distributions to build (comma-separated: humble,iron,jazzy,kilted,rolling)' + description: 'ROS distributions to build (comma-separated: humble,iron,jazzy,lyrical,kilted,rolling)' required: false schedule: - cron: '0 2 * * *' # Nightly at 2 AM UTC @@ -44,10 +44,10 @@ jobs: run: | if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then # Manual trigger - use input or default - DISTROS="${{ github.event.inputs.ros_distros || 'humble,iron,jazzy,kilted,rolling' }}" + DISTROS="${{ github.event.inputs.ros_distros || 'humble,iron,jazzy,lyrical,kilted,rolling' }}" else # Always build all distributions - DISTROS="humble,iron,jazzy,kilted,rolling" + DISTROS="humble,iron,jazzy,lyrical,kilted,rolling" fi echo "Building for distributions: $DISTROS" # Convert to JSON array for matrix @@ -72,6 +72,8 @@ jobs: ubuntu_distro: jammy - ros_distro: jazzy ubuntu_distro: noble + - ros_distro: lyrical + ubuntu_distro: noble - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling @@ -114,6 +116,8 @@ jobs: ubuntu_distro: jammy - ros_distro: jazzy ubuntu_distro: noble + - ros_distro: lyrical + ubuntu_distro: noble - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling @@ -232,6 +236,7 @@ jobs: # Install Python dependencies if [[ "${{ matrix.ros_distro }}" == "jazzy" || \ + "${{ matrix.ros_distro }}" == "lyrical" || \ "${{ matrix.ros_distro }}" == "kilted" || \ "${{ matrix.ros_distro }}" == "rolling" ]]; then pip3 install --break-system-packages --ignore-installed pygments textual diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 0997336..d67d12b 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -54,6 +54,8 @@ jobs: ubuntu_distro: jammy - ros_distro: jazzy ubuntu_distro: noble + - ros_distro: lyrical + ubuntu_distro: noble - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling @@ -122,6 +124,7 @@ jobs: source /opt/ros/${{ matrix.ros_distro }}/setup.bash source install/setup.bash if [[ "${{ matrix.ros_distro }}" == "jazzy" || \ + "${{ matrix.ros_distro }}" == "lyrical" || \ "${{ matrix.ros_distro }}" == "kilted" || \ "${{ matrix.ros_distro }}" == "rolling" ]]; then pip3 install --break-system-packages --ignore-installed pygments -r r2s_gw/requirements.txt diff --git a/README.md b/README.md index e6a5a57..8b610b6 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ For implementation details and inline integration guidance, see ## Compatibility -Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Kilted, and Rolling ROS 2 releases, under Ubuntu 22.04 and Ubuntu 24.04. It does not depend on Isaac ROS. It does however play nicely with Isaac ROS NITROS diagnostics, see [`docs/DESIGN_AND_IMPLEMENTATION.md`](docs/DESIGN_AND_IMPLEMENTATION.md) for more. +Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Lyrical, Kilted, and Rolling ROS 2 releases, under Ubuntu 22.04 and Ubuntu 24.04. It does not depend on Isaac ROS. It does however play nicely with Isaac ROS NITROS diagnostics, see [`docs/DESIGN_AND_IMPLEMENTATION.md`](docs/DESIGN_AND_IMPLEMENTATION.md) for more. ## Installation diff --git a/scripts/build_debian_packages.sh b/scripts/build_debian_packages.sh index f1942a9..0f4969b 100755 --- a/scripts/build_debian_packages.sh +++ b/scripts/build_debian_packages.sh @@ -26,6 +26,7 @@ # ./scripts/build_debian_packages.sh # Uses defaults (humble/jammy) # ./scripts/build_debian_packages.sh humble jammy # ROS Humble on Ubuntu 22.04 # ./scripts/build_debian_packages.sh jazzy noble # ROS Jazzy on Ubuntu 24.04 +# ./scripts/build_debian_packages.sh lyrical noble # ROS Lyrical on Ubuntu 24.04 # ./scripts/build_debian_packages.sh rolling resolute # ROS Rolling on Ubuntu 26.04 # # Docker Usage (Recommended): @@ -33,7 +34,7 @@ # ubuntu:jammy ./scripts/build_debian_packages.sh humble jammy # # Supported combinations: -# humble/jammy, iron/jammy, jazzy/noble, kilted/noble, rolling/resolute +# humble/jammy, iron/jammy, jazzy/noble, lyrical/noble, kilted/noble, rolling/resolute # # Output: Debian packages will be created in debian_packages/[ROS_DISTRO]/ # Install: sudo apt install ./debian_packages/[ROS_DISTRO]/*.deb @@ -50,10 +51,10 @@ UBUNTU_DISTRO="${2:-$DEFAULT_UBUNTU_DISTRO}" # Validate ROS distro case "$ROS_DISTRO" in -humble | iron | jazzy | kilted | rolling) ;; +humble | iron | jazzy | lyrical | kilted | rolling) ;; *) echo "Error: Unsupported ROS distro: $ROS_DISTRO" - echo "Supported distros: humble, iron, jazzy, kilted, rolling" + echo "Supported distros: humble, iron, jazzy, lyrical, kilted, rolling" exit 1 ;; esac @@ -110,7 +111,7 @@ echo "Installing build dependencies..." # Check if we need --break-system-packages for pip USE_BREAK_SYSTEM_PACKAGES="" -if [[ "$ROS_DISTRO" == "jazzy" || "$ROS_DISTRO" == "kilted" || "$ROS_DISTRO" == "rolling" ]]; then +if [[ "$ROS_DISTRO" == "jazzy" || "$ROS_DISTRO" == "lyrical" || "$ROS_DISTRO" == "kilted" || "$ROS_DISTRO" == "rolling" ]]; then USE_BREAK_SYSTEM_PACKAGES="--break-system-packages" fi diff --git a/scripts/docker-test.sh b/scripts/docker-test.sh index ee8e3ce..049026d 100755 --- a/scripts/docker-test.sh +++ b/scripts/docker-test.sh @@ -36,6 +36,9 @@ iron) jazzy) IMAGE="ros:jazzy-ros-base-noble" ;; +lyrical) + IMAGE="ros:lyrical-ros-base-noble" + ;; kilted) IMAGE="ros:kilted-ros-base-noble" ;; @@ -44,7 +47,7 @@ rolling) ;; *) echo "Unsupported ROS 2 distribution: $DISTRO" - echo "Supported: humble, iron, jazzy, kilted, rolling" + echo "Supported: humble, iron, jazzy, lyrical, kilted, rolling" exit 1 ;; esac @@ -72,7 +75,7 @@ docker run -it --rm \ apt-get update -qq && apt-get install -y build-essential python3-pip # Install Python requirements based on ROS distro - if [[ '${DISTRO}' == 'jazzy' || '${DISTRO}' == 'kilted' || '${DISTRO}' == 'rolling' ]]; then + if [[ '${DISTRO}' == 'jazzy' || '${DISTRO}' == 'lyrical' || '${DISTRO}' == 'kilted' || '${DISTRO}' == 'rolling' ]]; then pip3 install --break-system-packages -I pygments -r /workspace/src/greenwave_monitor/r2s_gw/requirements.txt else pip3 install -r /workspace/src/greenwave_monitor/r2s_gw/requirements.txt From 217de2e5bbce0247ab35f9679c14b7928b16aa6f Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Wed, 2 Sep 2026 11:18:10 -0700 Subject: [PATCH 2/4] Use ROS 2 Lyrical as default Signed-off-by: Blake McHale --- scripts/build_debian_packages.sh | 6 +++--- scripts/docker-test.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/build_debian_packages.sh b/scripts/build_debian_packages.sh index 0f4969b..2146a60 100755 --- a/scripts/build_debian_packages.sh +++ b/scripts/build_debian_packages.sh @@ -23,7 +23,7 @@ # # Usage: ./scripts/build_debian_packages.sh [ROS_DISTRO] [UBUNTU_DISTRO] # Examples: -# ./scripts/build_debian_packages.sh # Uses defaults (humble/jammy) +# ./scripts/build_debian_packages.sh # Uses defaults (lyrical/noble) # ./scripts/build_debian_packages.sh humble jammy # ROS Humble on Ubuntu 22.04 # ./scripts/build_debian_packages.sh jazzy noble # ROS Jazzy on Ubuntu 24.04 # ./scripts/build_debian_packages.sh lyrical noble # ROS Lyrical on Ubuntu 24.04 @@ -42,8 +42,8 @@ set -eo pipefail # Default values -DEFAULT_ROS_DISTRO="humble" -DEFAULT_UBUNTU_DISTRO="jammy" +DEFAULT_ROS_DISTRO="lyrical" +DEFAULT_UBUNTU_DISTRO="noble" # Parse arguments ROS_DISTRO="${1:-$DEFAULT_ROS_DISTRO}" diff --git a/scripts/docker-test.sh b/scripts/docker-test.sh index 049026d..e8c7f54 100755 --- a/scripts/docker-test.sh +++ b/scripts/docker-test.sh @@ -22,8 +22,8 @@ set -e -# Default to Humble if no distro specified -DISTRO=${1:-humble} +# Default to Lyrical if no distro specified +DISTRO=${1:-lyrical} # Image mapping based on ROS distro case $DISTRO in From 8e46345771a5ae3c3f4ad02732cd259710c70e76 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Wed, 2 Sep 2026 11:19:48 -0700 Subject: [PATCH 3/4] Target ROS 2 Lyrical on Ubuntu Resolute Signed-off-by: Blake McHale --- .github/workflows/debian-packages.yml | 4 ++-- .github/workflows/ros-tests.yml | 2 +- README.md | 2 +- scripts/build_debian_packages.sh | 8 ++++---- scripts/docker-test.sh | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/debian-packages.yml b/.github/workflows/debian-packages.yml index d92ed04..be90238 100644 --- a/.github/workflows/debian-packages.yml +++ b/.github/workflows/debian-packages.yml @@ -73,7 +73,7 @@ jobs: - ros_distro: jazzy ubuntu_distro: noble - ros_distro: lyrical - ubuntu_distro: noble + ubuntu_distro: resolute - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling @@ -117,7 +117,7 @@ jobs: - ros_distro: jazzy ubuntu_distro: noble - ros_distro: lyrical - ubuntu_distro: noble + ubuntu_distro: resolute - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index d67d12b..2c46df1 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -55,7 +55,7 @@ jobs: - ros_distro: jazzy ubuntu_distro: noble - ros_distro: lyrical - ubuntu_distro: noble + ubuntu_distro: resolute - ros_distro: kilted ubuntu_distro: noble - ros_distro: rolling diff --git a/README.md b/README.md index 8b610b6..e0f1160 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ For implementation details and inline integration guidance, see ## Compatibility -Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Lyrical, Kilted, and Rolling ROS 2 releases, under Ubuntu 22.04 and Ubuntu 24.04. It does not depend on Isaac ROS. It does however play nicely with Isaac ROS NITROS diagnostics, see [`docs/DESIGN_AND_IMPLEMENTATION.md`](docs/DESIGN_AND_IMPLEMENTATION.md) for more. +Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Lyrical, Kilted, and Rolling ROS 2 releases, under Ubuntu 22.04, Ubuntu 24.04, and Ubuntu 26.04. It does not depend on Isaac ROS. It does however play nicely with Isaac ROS NITROS diagnostics, see [`docs/DESIGN_AND_IMPLEMENTATION.md`](docs/DESIGN_AND_IMPLEMENTATION.md) for more. ## Installation diff --git a/scripts/build_debian_packages.sh b/scripts/build_debian_packages.sh index 2146a60..b4866c3 100755 --- a/scripts/build_debian_packages.sh +++ b/scripts/build_debian_packages.sh @@ -23,10 +23,10 @@ # # Usage: ./scripts/build_debian_packages.sh [ROS_DISTRO] [UBUNTU_DISTRO] # Examples: -# ./scripts/build_debian_packages.sh # Uses defaults (lyrical/noble) +# ./scripts/build_debian_packages.sh # Uses defaults (lyrical/resolute) # ./scripts/build_debian_packages.sh humble jammy # ROS Humble on Ubuntu 22.04 # ./scripts/build_debian_packages.sh jazzy noble # ROS Jazzy on Ubuntu 24.04 -# ./scripts/build_debian_packages.sh lyrical noble # ROS Lyrical on Ubuntu 24.04 +# ./scripts/build_debian_packages.sh lyrical resolute # ROS Lyrical on Ubuntu 26.04 # ./scripts/build_debian_packages.sh rolling resolute # ROS Rolling on Ubuntu 26.04 # # Docker Usage (Recommended): @@ -34,7 +34,7 @@ # ubuntu:jammy ./scripts/build_debian_packages.sh humble jammy # # Supported combinations: -# humble/jammy, iron/jammy, jazzy/noble, lyrical/noble, kilted/noble, rolling/resolute +# humble/jammy, iron/jammy, jazzy/noble, lyrical/resolute, kilted/noble, rolling/resolute # # Output: Debian packages will be created in debian_packages/[ROS_DISTRO]/ # Install: sudo apt install ./debian_packages/[ROS_DISTRO]/*.deb @@ -43,7 +43,7 @@ set -eo pipefail # Default values DEFAULT_ROS_DISTRO="lyrical" -DEFAULT_UBUNTU_DISTRO="noble" +DEFAULT_UBUNTU_DISTRO="resolute" # Parse arguments ROS_DISTRO="${1:-$DEFAULT_ROS_DISTRO}" diff --git a/scripts/docker-test.sh b/scripts/docker-test.sh index e8c7f54..dc1b213 100755 --- a/scripts/docker-test.sh +++ b/scripts/docker-test.sh @@ -37,7 +37,7 @@ jazzy) IMAGE="ros:jazzy-ros-base-noble" ;; lyrical) - IMAGE="ros:lyrical-ros-base-noble" + IMAGE="ros:lyrical-ros-base-resolute" ;; kilted) IMAGE="ros:kilted-ros-base-noble" From 02c191a4fc92fe91208110c7be44e139a244e24a Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Wed, 2 Sep 2026 11:34:11 -0700 Subject: [PATCH 4/4] Update Lyrical Docker build example Signed-off-by: Blake McHale --- scripts/build_debian_packages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_debian_packages.sh b/scripts/build_debian_packages.sh index b4866c3..8bd81b6 100755 --- a/scripts/build_debian_packages.sh +++ b/scripts/build_debian_packages.sh @@ -31,7 +31,7 @@ # # Docker Usage (Recommended): # docker run -it --rm -v $(pwd):/workspace -w /workspace \ -# ubuntu:jammy ./scripts/build_debian_packages.sh humble jammy +# ubuntu:resolute ./scripts/build_debian_packages.sh lyrical resolute # # Supported combinations: # humble/jammy, iron/jammy, jazzy/noble, lyrical/resolute, kilted/noble, rolling/resolute