ci: add distro coverage for jazzy, kilted and lyrical - #157
Merged
Conversation
nbbrooks
force-pushed
the
nbbrooks/ci-distro-coverage
branch
6 times, most recently
from
August 3, 2026 02:14
94b3ec8 to
bbb9539
Compare
This repo ships a single `ros2` branch to five distros but only tested two, and neither gave a Resolute signal: humble 4.1.2-1 tested (humble-source image) jazzy 4.1.2-1 NOT tested kilted 4.1.2-2 NOT tested lyrical 4.1.2-3 NOT tested rolling 4.1.2-2 tested (rolling-source image -- see below) Move the whole matrix to plain ROS_DISTRO/ROS_REPO jobs, matching PickNikRobotics/rviz_visual_tools#301 and PickNikRobotics/graph_msgs#20: humble-main jammy blocking jazzy-main noble blocking kilted-main noble blocking (takes over CLANG_TIDY) lyrical-main resolute non-blocking rolling-testing resolute non-blocking The rolling-source job had to go. With a *prebuilt* image, ROS_DISTRO: rolling does not imply Resolute the way it does for a bare-OS job -- the OS comes from the image. moveit/moveit2:rolling-source is Ubuntu noble, built 2026-01-24, with MoveIt compiled inside it, so the job never asked apt for ros-rolling-moveit-core and never touched Resolute. Rolling moved to Resolute, so it was testing a distro/OS pairing that no longer ships, and reporting green for it -- concealing the blocker below. It could not self-heal either: moveit2's docker.yaml is 12 successes to 85 failures, and even its last success (2026-06-24) did not refresh that tag. The usual argument for a source image -- exercising MoveIt main -- was not being served by a January snapshot. Dropping humble-source too keeps the matrix uniform and removes this repo's last dependency on the moveit2 image pipeline. MoveIt is released as debs on every distro here (humble 2.5.9, jazzy 2.12.4, kilted 2.14.3), so binary jobs test what users actually install. moveit_visual_tools.repos still source-builds rviz_visual_tools and graph_msgs, which is where the unreleased fixes live. With no image left, DOCKER_IMAGE, UNDERLAY (and its AFTER_SETUP_UPSTREAM_WORKSPACE_EMBED predecessor) and the IMAGE fallbacks in CACHE_PREFIX / name are all removed as dead plumbing. lyrical and rolling both fail today for the same reason: E: Unable to locate package ros-lyrical-moveit-core Only moveit_common, moveit_configs_utils, moveit_msgs and moveit_resources are published for Resolute; moveit_core is not. That blocks every downstream package on Resolute -- lyrical as well as rolling. Both jobs are non-blocking and will start passing on their own once moveit2 is released there. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
nbbrooks
force-pushed
the
nbbrooks/ci-distro-coverage
branch
from
August 3, 2026 02:17
bbb9539 to
823da3b
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
This repo ships a single
ros2branch to five distros but tests two — and neither gives a Resolute signal.humble-sourcerolling-source— see belowThe
rollingjob pinsmoveit/moveit2:rolling-source. That image is stale. moveit2'sdocker.yamlhas failed on every run since ~2026-07-13 — its.docker/ci/Dockerfilehardcodesclang-format-14, which Ubuntu Resolute doesn't package (it ships 17–22) — so thesourcejob is skipped and the published tag predates Rolling's base-OS move to Resolute.The last CI run on
ros2was 2026-06-23, also before the transition. So the green badge currently says nothing about Resolute.How
MoveIt is released on jazzy, kilted and lyrical, so those can be covered today with plain binary debs — no source build, no dependency on the moveit2 image pipeline.
humble-sourcerolling-source + clang-tidyjazzy-mainkilted-mainlyrical-mainOS_CODE_NAMEpinnedlyricalis Ubuntu Resolute, making it the first job in this repo that exercises Resolute at all.Jobs building on a bare OS image must leave
DOCKER_IMAGEunset, so it moves out of the static jobenv:into a conditional step — the same pattern moveit2's ownci.yamluses.CACHE_PREFIXand the job name fall back to<distro>-<repo>for entries with noIMAGE.fail-fast: falsewas already present, so a failing new job won't cancel the existing ones.lyrical-mainto fail initially — that's the pointCMakeLists.txtstill callsament_target_dependencies(lines 49, 58), removed inament_cmake2.7.3+. That is precisely the breakage reported in rviz_visual_tools#294:The fix exists on the parked
nbbrooks/rolling-compatbranch but has never been opened as a PR. This change doesn't fix that — it makes it visible instead of silently untested, so the follow-up PR has something to prove itself against.Same sequencing that worked on rviz_visual_tools: #301 restored CI signal → the newly-visible failures were then fixed by #300 and #302, ending with all six jobs green.
🤖 Generated with Claude Code