ci: match moveit2's Rolling-on-Resolute pattern for coverage + ABI check - #37
Merged
Merged
Conversation
Both workflows have been red since 2026-06-15 on every PR (7 stuck), blocking merge for Dependabot bumps and other simple changes. Two adjustments mirroring moveit2/moveit2's ci.yaml handling of the same base-OS transition: - rolling-abi-compatibility.yml: OS_CODE_NAME=resolute + ROS_REPO=testing so industrial_ci resolves ros-rolling-* packages against ros2-testing apt (which has Resolute support) instead of main (Noble-lagged). - ci-coverage-build.yml: continue-on-error while the noble runner + Rolling combination can't resolve the current python3-ament-package chain. There's no runner-side fix without either a Resolute-based GitHub runner or a ros-tooling/action-ros-ci release that handles this. Also marks the ABI check continue-on-error as belt-and-braces — matches how moveit2 handles its (experimental) rolling-resolute job. Long-term: revisit both once ros-tooling and industrial_ci catch up to the transition.
…w comment Expand the continue-on-error rationale to record the specific rosdep + CMake failure (realtime_tools noble gap → controller_interface not found) so a future maintainer knows what to look for when deciding whether the workaround can be removed. Also names the two concrete revisit triggers: a Resolute-aware ros-tooling/action-ros-ci release, or wrapping in industrial_ci to match moveit2's pattern.
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
Coverage Build and Rolling ABI Compatibility Check have been red on every PR since 2026-06-15 (7+ PRs stuck: five Dependabot bumps, two workflow-cleanup PRs, and #25). Neither is a per-PR bug — both hit the same underlying ecosystem transition: Rolling migrated its base OS from Noble to Resolute, and this repo's CI tooling never caught up.
Two distinct failure modes on the same root cause:
industrial_cipulls the rightubuntu:resolutecontainer, but can'tapt-get install ros-rolling-ros-environmentbecause the ROS 2mainapt doesn't yet ship Rolling-on-Resolute packages — those currently live only inros2-testing.ubuntu-24.04) withros-tooling/action-ros-ci. Rolling apt on noble now ships packages whose dependency chains are stale, so CMake configure dies withModuleNotFoundError: No module named 'ament_package'even thoughros-dev-toolsreports installed. Dependabot Bump ros-tooling/action-ros-ci from 0.3 to 0.4 #33's bump toaction-ros-ci@v0.4hits the same wall.moveit/moveit2already worked through this transition on its own CI (see its ci.yaml — therolling-resolutematrix entry). We mirror that pattern here.How
rolling-abi-compatibility.yml— real fix:ROS_REPO: main→ROS_REPO: testingso industrial_ci resolvesros-rolling-*against ros2-testing apt (which has Resolute support).OS_CODE_NAME: resolute.industrial_cialready picks the right container, but the explicit setting pins it and documents intent (matches moveit2's style).continue-on-error: trueas belt-and-braces — matches how moveit2 handles itsrolling-resolute (experimental)job. If the ecosystem shifts again, this workflow won't gate merges.ci-coverage-build.yml— non-blocking workaround only:continue-on-error: true. There's no analogous configuration fix here: the workflow runs directly on the runner (not in an industrial_ci container), and the noble runner + Rolling apt combination is broken until either GitHub ships an Ubuntu 26.04 runner orros-tooling/action-ros-cireleases a Resolute-aware version. Rather than block every PR on a transient ecosystem gap, we surface the failure without gating.Both changes should be revisited once
ros-toolingandindustrial_cicatch up to the transition.