fix(build): migrate off deprecated moveit_studio_common macros - #16
Conversation
moveit_studio_package() and everything else in moveit_studio_package.cmake is deprecated and will be removed in MoveIt Pro 10.0, so a build against 9.x logs a CMake deprecation warning for this package. Take the documented migration: buildtool_depend on moveit_pro_package, find_package it, and call moveit_pro_package(). moveit_studio_common also leaves THIS_PACKAGE_INCLUDE_DEPENDS: no source in this package includes a moveit_studio_common header, and keeping it in the list is what pulled moveit_studio_package.cmake back in - it re-defines moveit_pro_behavior_test() with the deprecated shim, so the test macro warned as well even though the call site already used the new name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
image_tag resolved to the branch name, so a PR into main pulled picknikciuser/moveit-studio:main-humble - Pro's unreleased 10.0 line. There, SharedResourcesNode no longer exposes the protected shared_resources_ member; it is a private behavior_context_ reached through getBehaviorContext(). Every behavior in this package uses shared_resources_, so colcon build failed in create_interface_value.cpp and create_dynamic_interface_group_values.cpp no matter what a PR touched. main last saw green CI on 2026-05-08, and feat/get-joint-limits fails the same way. Pin to 9.4.1, the newest release (9.4.2 / 9.5.0 / 10.0.0 images do not exist yet), which still has shared_resources_ - confirmed against Pro's v9.4 branch. The workflow_dispatch override still works, so a 10.0 image can be tried on demand. Bump this when the package migrates to getBehaviorContext(). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
@coderabbitai fresh review |
|
✅ Action performedFull review finished. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: 9 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. 📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesMoveIt Pro migration
Possibly related issues
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The PR updates the package to the supported build macros and pins CI to a verified release image; the reported build and test checks pass, so no actionable merge-blocking risk remains beyond normal review. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Comment |
nbbrooks
left a comment
There was a problem hiding this comment.
Once v10 is released we will need to explore a branch versioning strategy.
Two commits: the
moveit_pro_packagemigration, and the CI pin that lets it beverified at all.
1.
fix(build): migrate off deprecatedmoveit_studio_commonmacrosBuilding this package logs a CMake deprecation warning:
The migration exactly as described.
moveit_studio_commonalso leavesTHIS_PACKAGE_INCLUDE_DEPENDS: no source here includes one of its headers, andleaving it in the list is what pulls
moveit_studio_package.cmakeback into theconfigure — it re-defines
moveit_pro_behavior_test()with the deprecated shim,so a downstream package that already calls the new name still gets warned.
Dropping the dep is what silences that second warning. Also refreshes a stale
comment naming the
moveit_studio_behaviorpackage.2.
ci: build against the newest release, not the base branchCI on this repo was already red before this PR, for an unrelated reason worth
fixing here so the change above can actually be verified.
image_tagresolved to the branch name, so a PR intomainpulledpicknikciuser/moveit-studio:main-humble— Pro's unreleased 10.0 line. ThereSharedResourcesNodeno longer exposes the protectedshared_resources_member;it is a private
behavior_context_reached throughgetBehaviorContext(). Everybehavior in this package uses
shared_resources_, socolcon buildfailed increate_interface_value.cppandcreate_dynamic_interface_group_values.cppregardless of what a PR touched:
Evidence this predates the PR:
main's last green CI was 2026-05-08, andfeat/get-joint-limits(2026-07-23) fails the same way.Now pinned to 9.4.1, the newest release — 9.4.2 / 9.5.0 / 10.0.0 images do not
exist yet, and Pro's
v9.4branch still hasprotected: std::shared_ptr<BehaviorContext> shared_resources_;. Theworkflow_dispatchoverride is preserved, so a 10.0 image can still be tried ondemand.
This pin is a deliberate trade-off: it stops CI from being an early-warning
system for upstream API drift. The
getBehaviorContext()migration is still owedbefore 10.0 — 50 uses of
shared_resources_across 21 files — and the commentblock in
CI.yamlsays to bump the tag when that happens. If you would ratherkeep the canary, the follow-up is a
continue-on-errorjob againstmain-humblealongside the pinned one.
Verification
CI green on this branch — all four checks pass (run 32293460729):
Zero
CMake Deprecationlines and zerostderrin that log, against 7 compileerrors in the previous run.
Also built as part of a downstream
autowash_configworkspace on 9.3.1(
--packages-up-to autowash_config,build/+install/wiped so CMakereconfigures from scratch): 8 packages finished, no stderr and no warnings from
any of them, where the same build before this change reported
experimental_behaviorsunderpackages had stderr output.Note for whoever merges
autowash_configpins this submodule atf62e158("Add GetJointLimitsbehavior"), which is on
feat/get-joint-limitsand not onmain. So bumpingthat pointer to pick this up is not a fast-forward from what it currently tracks —
worth sorting out that divergence at the same time.
🤖 Generated with Claude Code