Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
be4629d
initial port to ros2
solonovamax Feb 24, 2026
555291e
code cleanup
solonovamax Feb 24, 2026
3cb5308
rename .h -> .hpp & .cc -> .cpp
solonovamax Feb 24, 2026
d4229ae
generate filter chain nodes with cmake
solonovamax Feb 24, 2026
3213d14
use correct name for node
solonovamax Feb 24, 2026
c52f123
make nodes composable
solonovamax Feb 24, 2026
615f6ab
cleanup GenerateFilterChainNode.cmake
solonovamax Feb 24, 2026
6a708f5
add deprecation note for non-composable constructors
solonovamax Feb 24, 2026
a1ce80a
how did this accidentally get in there
solonovamax Feb 24, 2026
df62f54
port ChangeHeaderFilter to ros2
solonovamax Feb 24, 2026
86921da
Added CI for ROS 2
peci1 Feb 25, 2026
fe9d6b7
Converted package.xml to ROS 2
peci1 Feb 25, 2026
4ac012f
Add lifecycle nodes
solonovamax Mar 17, 2026
10f1aba
oops, forgot to add this to the CMakeLists.txt
solonovamax Mar 17, 2026
46f2ff0
Fix some things I forgot to change
solonovamax Mar 17, 2026
2a4b06c
oops, lifecycle nodes didn't need that
solonovamax Mar 17, 2026
ebe0dce
Clean up template sources
solonovamax Mar 17, 2026
a55f227
Fix compilation on rolling
solonovamax Mar 17, 2026
e53d9a0
Fix names of image & pointcloud2 filter chain nodes
solonovamax Mar 17, 2026
55f913a
Remove debug message in CMakeLists.txt I left in accidentally
solonovamax Mar 17, 2026
a68a2e7
Fix runtime issues with nodes
solonovamax Mar 17, 2026
41252e2
Fix bug in change header filter, where absolute timestamps were incor…
solonovamax Mar 17, 2026
a01491d
Clean up REGISTER_ALL_MSG_FILTER macro for future use
solonovamax Mar 19, 2026
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
66 changes: 66 additions & 0 deletions .github/workflows/ci-ros2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# SPDX-License-Identifier: BSD-3-Clause
# SPDX-FileCopyrightText: Czech Technical University in Prague

# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)

name: CI

# This determines when this workflow is run
on:
push:
branches: [ros2]
pull_request:
branches: [ros2]
workflow_dispatch: {}

jobs:
industrial_ci:
strategy:
fail-fast: false
matrix:
env:
- {ROS_DISTRO: humble, ROS_REPO: testing, DOCKER_IMAGE: "ghcr.io/sloretz/ros:humble-perception", ALLOW_FAIL: yes}
- {ROS_DISTRO: jazzy, ROS_REPO: testing, DOCKER_IMAGE: "ghcr.io/sloretz/ros:jazzy-perception", ALLOW_FAIL: no}
- {ROS_DISTRO: kilted, ROS_REPO: testing, DOCKER_IMAGE: "ghcr.io/sloretz/ros:kilted-perception", ALLOW_FAIL: no}
- {ROS_DISTRO: rolling, ROS_REPO: testing, DOCKER_IMAGE: "ghcr.io/sloretz/ros:rolling-perception", ALLOW_FAIL: yes}
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
name: "${{ matrix.env.ROS_DISTRO }}-${{ matrix.os }}"
env:
CCACHE_DIR: &ccache ${{ github.workspace }}/.ccache # Directory for ccache (and how we enable ccache in industrial_ci)
VERBOSE_OUTPUT: &verbose true
runs-on: &runs-on ${{ matrix.os }}
steps: &steps
- uses: actions/checkout@v4
# This step will fetch/store the directory used by ccache before/after the ci run
- name: Cache ccache
uses: rhaschke/cache@main
continue-on-error: ${{ matrix.env.ALLOW_FAIL }}
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.os }}-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
ccache-${{ matrix.os }}-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-${{ github.sha }}
ccache-${{ matrix.os }}-${{ matrix.env.ROS_DISTRO }}
env:
GHA_CACHE_SAVE: always
# Run industrial_ci
- uses: 'ros-industrial/industrial_ci@master'
env: ${{ matrix.env }}
# We also do a best effort test with GCC 11 (which is on RHEL 9 on ROS buildfarm)
industrial_ci_gcc_11:
strategy:
fail-fast: false
matrix:
env:
- { ROS_DISTRO: kilted, ROS_REPO: testing, DOCKER_IMAGE: "ghcr.io/sloretz/ros:kilted-perception", ALLOW_FAIL: yes }
os: [ "ubuntu-24.04", "ubuntu-24.04-arm" ]
name: "${{ matrix.env.ROS_DISTRO }}-${{ matrix.os }}-gcc11"
env:
CCACHE_DIR: *ccache
VERBOSE_OUTPUT: *verbose
ADDITIONAL_DEBS: "g++-11"
CC: "gcc-11"
CXX: "g++-11"
runs-on: *runs-on
steps: *steps
Loading