Skip to content

Document H265 hardware launch #6

Document H265 hardware launch

Document H265 hardware launch #6

Workflow file for this run

name: ros2-gst-video-bridge-ci
on:
pull_request:
push:
branches: ["main", "ft/1stversion_w_srt"]
schedule:
- cron: "0 3 * * *"
jobs:
clang-format-check:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install clang-format-15
run: |
sudo apt-get update
sudo apt-get install -y clang-format-15
- name: Check formatting
run: |
find ros2_gst_video_bridge/include ros2_gst_video_bridge/src \
\( -name '*.hpp' -o -name '*.cc' \) | \
xargs clang-format-15 --dry-run --Werror
build-and-test:
needs: clang-format-check
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: ws/src/ros2_gst_video_bridge
- name: Setup ROS 2 Humble
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: humble
- name: Install GStreamer dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev
- name: Build
working-directory: ws
run: |
source /opt/ros/humble/setup.bash
colcon build \
--packages-up-to ros2_gst_video_bridge \
--event-handlers console_direct+ \
--cmake-args \
-DROS2_GST_VIDEO_BRIDGE_ENABLE_CLANG_TIDY=OFF \
-DROS2_GST_VIDEO_BRIDGE_ENABLE_CLANG_FORMAT_CHECK=OFF
- name: Test
working-directory: ws
run: |
source /opt/ros/humble/setup.bash
source install/setup.bash
colcon test \
--packages-select ros2_gst_video_bridge \
--event-handlers console_direct+
colcon test-result --all --verbose
- name: Resilience preflight smoke
working-directory: ws
run: |
source /opt/ros/humble/setup.bash
source install/setup.bash
build/ros2_gst_video_bridge/gst_video_bridge_node \
--ros-args \
-p runtime.mode:=validate_config \
-p codec.name:=h264 \
-p codec.encoder:=definitely_missing_encoder
build/ros2_gst_video_bridge/gst_video_bridge_node \
--ros-args \
-p runtime.mode:=validate_config \
-p transport.kind:=rtsp \
-p transport.sink_uri:=rtsp://127.0.0.1:8554/live
nightly-matrix:
if: github.event_name == 'schedule'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: ws/src/ros2_gst_video_bridge
- name: Setup ROS 2 Humble
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: humble
- name: Install GStreamer dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev
- name: Build
working-directory: ws
run: |
source /opt/ros/humble/setup.bash
colcon build \
--packages-up-to ros2_gst_video_bridge \
--event-handlers console_direct+ \
--cmake-args \
-DROS2_GST_VIDEO_BRIDGE_ENABLE_CLANG_TIDY=OFF \
-DROS2_GST_VIDEO_BRIDGE_ENABLE_CLANG_FORMAT_CHECK=OFF
- name: Run matrix
working-directory: ws
run: |
source /opt/ros/humble/setup.bash
source install/setup.bash
chmod +x src/ros2_gst_video_bridge/ros2_gst_video_bridge/scripts/run_transport_codec_matrix.zsh
src/ros2_gst_video_bridge/ros2_gst_video_bridge/scripts/run_transport_codec_matrix.zsh "$PWD" /tmp/matrix.csv
- name: Upload report
uses: actions/upload-artifact@v4
with:
name: transport-codec-matrix-report
path: /tmp/matrix.csv