Skip to content

feat: add Level 1-4 examples, 27 docs, and full CI coverage - #1

Merged
Sunrisepeak merged 8 commits into
mainfrom
feat/level4-debug-perf-and-docs-expansion
Mar 20, 2026
Merged

Sunrisepeak merged 8 commits into
mainfrom
feat/level4-debug-perf-and-docs-expansion

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Summary

  • Add 20 new demo packages covering Level 1 (pubsub, service, timer), Level 2 (params, action, lifecycle, qos, testing, executor), Level 3 (tf2, robot_description, rviz_markers, image, rosbag, nav_plugin, hardware, dds_config), and Level 4 (logging, tracing, benchmark)
  • Add 27 tutorial docs (Chinese) with curated "内容扩展" sections linking to relevant projects, tools, docs, and papers
  • Update CI to build ALL packages (was only building 5), install extra ROS deps (tf2, cv_bridge, nav2, ros2_control, diagnostic_updater, etc.)
  • Update runtime_smoke.sh with smoke tests for all new packages

Test plan

  • CI E2E Build & Test workflow passes (builds all 26 packages)
  • Runtime smoke test covers all packages with startup verification
  • All 27 docs contain "内容扩展" section

🤖 Generated with Claude Code

Sunrisepeak and others added 8 commits March 20, 2026 15:45
- Add 20 new demo packages (Level 1-3 from previous round + Level 4)
- Level 4 "Debugging & Performance": demo_xmake_logging, demo_xmake_tracing, demo_xmake_benchmark
- Add 27 tutorial docs with "内容扩展" sections (curated links to projects/tools/papers)
- Update CI: build all packages, install extra ROS deps (tf2, cv_bridge, nav2, ros2_control, etc.)
- Update runtime_smoke.sh with tests for all new packages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cv_bridge in ROS 2 Jazzy uses .hpp extension instead of .h

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cv_bridge depends on OpenCV but add_ros_deps doesn't transitively
propagate system library include paths. Add explicit opencv package.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
add_ros_deps("cv_bridge") doesn't transitively resolve OpenCV headers
and linking. Use add_cxflags + add_links for explicit opencv support.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause: add_ros_deps resolves cv_bridge via add_ldflags (full path),
but xmake places add_packages (-l flags) before add_ldflags in the link
command. This causes the linker to not see cv_bridge.so when resolving
symbols from the object files.

Fix: use add_requires("opencv", {system = true}) for OpenCV, and
add_links("cv_bridge") to ensure cv_bridge is linked via -l flag
at the same priority level as opencv libraries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
With colcon-xmake now parsing export_targets and ament_xmake using
add_links instead of add_ldflags, the explicit add_links("cv_bridge")
workaround is no longer needed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
demo_xmake_service requires example_interfaces which is not included
in the base ros:jazzy container image.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Sunrisepeak
Sunrisepeak merged commit 120c1ad into main Mar 20, 2026
3 checks passed
@Sunrisepeak
Sunrisepeak deleted the feat/level4-debug-perf-and-docs-expansion branch March 20, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant