Document H265 hardware launch #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |