Skip to content

Instrument client/service for end-to-end request/response tracking #1241

Instrument client/service for end-to-end request/response tracking

Instrument client/service for end-to-end request/response tracking #1241

Workflow file for this run

name: Sanity checks
on:
pull_request:
push:
branches:
- rolling
schedule:
- cron: "0 5 * * *"
defaults:
run:
shell: bash
jobs:
binary:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
continue-on-error: true
strategy:
fail-fast: false
matrix:
distro:
- rolling
steps:
- uses: actions/checkout@v4
with:
path: ws/src/ros2/ros2_tracing
- uses: ros-tooling/setup-ros@master
with:
required-ros-distributions: ${{ matrix.distro }}
use-ros2-testing: true
- name: Install other dependencies
run: |
sudo apt-get update
sudo apt-get install -y -q ros-${{ matrix.distro }}-*tracetools* babeltrace
- name: Make sure that tracing instrumentation is available
run: |
source /opt/ros/${{ matrix.distro }}/setup.bash
ros2 run tracetools status
- name: Build test_tracetools
run: |
source /opt/ros/${{ matrix.distro }}/setup.bash
colcon build --packages-select test_tracetools
- name: Generate trace and make sure it is not empty
run: |
source install/setup.bash
ros2 launch tracetools_launch example.launch.py
babeltrace ~/.ros/tracing/
- name: Build tracetools without tracepoints
run: |
cd $GITHUB_WORKSPACE/ws
source /opt/ros/${{ matrix.distro }}/setup.bash
colcon build --packages-select tracetools --cmake-args -DTRACETOOLS_TRACEPOINTS_EXCLUDED=ON
- name: Make sure that tracing instrumentation is not available
run: |
cd $GITHUB_WORKSPACE/ws
source install/setup.bash
(! ros2 run tracetools status)
source:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
continue-on-error: true
strategy:
fail-fast: false
matrix:
distro:
- rolling
steps:
- uses: actions/checkout@v4
with:
path: ws/src/ros2/ros2_tracing
- uses: ros-tooling/setup-ros@master
- name: Build
run: |
cd $GITHUB_WORKSPACE/ws
vcs import src/ --input https://raw.githubusercontent.com/ros2/ros2/${{ matrix.distro }}/ros2.repos --skip-existing
vcs log -l1 src/
rosdep update
rosdep install -r --from-paths src --ignore-src -y --rosdistro ${{ matrix.distro }} --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"
colcon build --packages-up-to tracetools ros2run ros2launch demo_nodes_cpp tracetools_launch test_tracetools
- name: Make sure that tracing instrumentation is available
run: |
cd $GITHUB_WORKSPACE/ws
source install/setup.bash
ros2 run tracetools status
- name: Generate trace and make sure it is not empty
run: |
cd $GITHUB_WORKSPACE/ws
source install/setup.bash
ros2 launch tracetools_launch example.launch.py
babeltrace ~/.ros/tracing/
- name: Build tracetools without tracepoints
run: |
cd $GITHUB_WORKSPACE/ws
colcon build --packages-select tracetools --cmake-clean-cache --cmake-args -DTRACETOOLS_TRACEPOINTS_EXCLUDED=ON
- name: Make sure that tracing instrumentation is not available
run: |
cd $GITHUB_WORKSPACE/ws
source install/setup.bash
(! ros2 run tracetools status)
- name: Remove LTTng-UST
run: |
sudo apt-get purge -y liblttng-ust-dev
- name: Make sure building tracetools without LTTng fails
run: |
cd $GITHUB_WORKSPACE/ws
(! colcon build --packages-select tracetools --cmake-clean-cache)
- name: Make sure building tracetools without LTTng and without tracepoints works
run: |
cd $GITHUB_WORKSPACE/ws
colcon build --packages-select tracetools --cmake-clean-cache --cmake-args -DTRACETOOLS_TRACEPOINTS_EXCLUDED=ON
- name: Make sure that tracing instrumentation is not available
run: |
cd $GITHUB_WORKSPACE/ws
source install/setup.bash
(! ros2 run tracetools status)