Skip to content

Move build tooling from Humble to Jazzy - #36

Merged
griswaldbrooks merged 3 commits into
jazzy-picknikfrom
feat/20927-fuse-humble-to-jazzy-migration
Jul 30, 2026
Merged

Move build tooling from Humble to Jazzy#36
griswaldbrooks merged 3 commits into
jazzy-picknikfrom
feat/20927-fuse-humble-to-jazzy-migration

Conversation

@dv-picknik

Copy link
Copy Markdown

Retargets the fork's build tooling from Humble to Jazzy.

jazzy-picknik was created by replaying our 30 PickNik commits onto upstream's jazzy, which carried the build tooling over verbatim — so a branch named for Jazzy was still building Humble on Ubuntu 22.04.

Changes

  • Dockerfileosrf/ros:humble-desktop-fulljazzy-desktop-full, ros-humble-rmw-cyclonedds-cppros-jazzy-..., setup.sh path
  • entrypoint.sh — source /opt/ros/jazzy
  • ci.yaml / pre-commit.yamlubuntu-22.04ubuntu-24.04, push trigger and clang-tidy branch guard humblejazzy-picknik, setup-python 3.10 → 3.12 to match Noble
  • README — states the branch targets Jazzy

git grep -iE 'humble|ubuntu-22|jammy' is now clean outside dependencies/ and changelogs.

Verification

Both trees were built from scratch against Jazzy in Docker (ros:jazzy-ros-base, wiped build volumes):

stock jazzy jazzy-picknik
Result 13 packages, exit 0 15 packages, exit 0
TUs compiled 221 269
Compiler warnings 0 0

The warning diff between the two is empty. Extra packages on our side are the vendored submodules (covariance_geometry_ros, tf2_2d).

Caveats

  • CI and the repo Dockerfile are unexercised by this verification. The builds above used a separate deps image, not Dockerfile. This PR opening is what actually tests the ubuntu-24.04 / jazzy-desktop-full switch.
  • CI trigger branch was chosen by analogy. humblejazzy-picknik, matching the old dev-branch convention. Change it if jazzy is intended instead.

Known follow-up, not in this PR

16 of our files still include tf2 headers upstream converted on jazzy in locusrobotics#416 (tf2_ros/buffer.h, tf2/utils.h, tf2/convert.h, tf2/exceptions.h, tf2_ros/message_filter.h, tf2_ros/transform_broadcaster.h, tf2_ros/transform_listener.h), concentrated in the 3D models and transform_sensor. Contrary to what you might expect, these produce no warnings on Jazzy — the .h shims still forward silently; the deprecation warnings land in Kilted/Rolling. So the .h.hpp conversion is future-proofing rather than a current-build fix, and is left for a separate PR.

Refs PickNikRobotics/moveit_pro#20927

🤖 Generated with Claude Code

https://claude.ai/code/session_01Gv6KUgyufFTvcUgVhLFAGo

The cherry-pick onto jazzy-picknik carried the fork's build tooling over
unchanged, so it still targeted Humble on Ubuntu 22.04.

- Dockerfile: osrf/ros:humble-desktop-full -> jazzy-desktop-full,
  rmw-cyclonedds-cpp and setup.sh paths retargeted
- entrypoint.sh: source /opt/ros/jazzy
- CI + pre-commit: ubuntu-22.04 -> ubuntu-24.04, push trigger and the
  clang-tidy branch guard humble -> jazzy-picknik, setup-python 3.10 ->
  3.12 to match Noble
- README: state that this branch targets Jazzy

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gv6KUgyufFTvcUgVhLFAGo
@dv-picknik
dv-picknik marked this pull request as draft July 30, 2026 19:57
The pre-commit clang-format hook (pinned at v14.0.6) failed on five files
inherited by jazzy-picknik.

fuse_variables/test/test_load_device_id.cpp: my conflict resolution during
the replay hand-wrapped the UUID aggregate initializers. clang-format fills
to the column limit instead, so the continuation lines were re-wrapped.

fuse_core/{graph,message_buffer,timestamp_manager,transaction}.hpp: upstream
jazzy's Boost 1.90 any_range workaround (locusrobotics#424) indents the
guarded include; this fork's clang-format config wants it flush.

Verified by running clang-format 14.0.6 over the whole tree: these five files
are the complete set, no others drift.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gv6KUgyufFTvcUgVhLFAGo
@dv-picknik
dv-picknik marked this pull request as ready for review July 30, 2026 20:25
clang-tidy runs only on files a PR touches. Reformatting this file in the
previous commit pulled it into scope for the first time, surfacing 17
pre-existing misc-const-correctness findings: the eight `actual`/`expected`
UUID pairs and `ret` in main.

These predate this branch — they came over with the Humble replay — but the
job is blocking, so they are fixed here rather than deferred. Declarations
only; no behavioural change. Re-ran clang-format 14.0.6 afterwards since the
added `const` pushed the initializer wrapping.

Verified: clean build (0 warnings) and 849 tests, 0 failures, unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gv6KUgyufFTvcUgVhLFAGo
@griswaldbrooks
griswaldbrooks merged commit b1f6fcb into jazzy-picknik Jul 30, 2026
4 checks passed
@griswaldbrooks
griswaldbrooks deleted the feat/20927-fuse-humble-to-jazzy-migration branch July 30, 2026 21:53
@bkanator bkanator mentioned this pull request Jul 31, 2026
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.

2 participants