From ccd44416c99462ca6615b09b12884605a0499420 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Sun, 26 Jul 2026 20:43:40 -0600 Subject: [PATCH 1/2] ci: match moveit2's Rolling-on-Resolute pattern for coverage + ABI check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/ci-coverage-build.yml | 5 +++++ .github/workflows/rolling-abi-compatibility.yml | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/ci-coverage-build.yml index 24b30ba..a4c7fdb 100644 --- a/.github/workflows/ci-coverage-build.yml +++ b/.github/workflows/ci-coverage-build.yml @@ -11,6 +11,11 @@ jobs: coverage: name: coverage build runs-on: ubuntu-24.04 + # Non-blocking while Rolling completes its Noble → Resolute base-OS transition. + # ros-tooling/action-ros-ci on the noble runner cannot resolve current Rolling debs + # (e.g. python3-ament-package chain is broken); revisit when a resolute GitHub runner + # or a fixed action release lands. + continue-on-error: true strategy: fail-fast: false env: diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml index be39cde..c422839 100644 --- a/.github/workflows/rolling-abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -10,11 +10,15 @@ on: jobs: abi_check: runs-on: ubuntu-latest + # Non-blocking while Rolling completes its Noble → Resolute base-OS transition. + # Some Rolling-on-Resolute packages currently only exist in ros2-testing apt. + continue-on-error: true steps: - uses: actions/checkout@v4 - uses: ros-industrial/industrial_ci@master env: ROS_DISTRO: rolling - ROS_REPO: main + OS_CODE_NAME: resolute + ROS_REPO: testing ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }} NOT_TEST_BUILD: true From 90e12a29ceb8cd3a0dfe25853f4ea694f88eabc9 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Sun, 26 Jul 2026 21:22:41 -0600 Subject: [PATCH 2/2] ci-coverage-build: document observed failure signature in the workflow comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/ci-coverage-build.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/ci-coverage-build.yml index a4c7fdb..0653aae 100644 --- a/.github/workflows/ci-coverage-build.yml +++ b/.github/workflows/ci-coverage-build.yml @@ -12,9 +12,17 @@ jobs: name: coverage build runs-on: ubuntu-24.04 # Non-blocking while Rolling completes its Noble → Resolute base-OS transition. - # ros-tooling/action-ros-ci on the noble runner cannot resolve current Rolling debs - # (e.g. python3-ament-package chain is broken); revisit when a resolute GitHub runner - # or a fixed action release lands. + # + # Observed 2026-07 on Ubuntu 24.04 (noble) runners: rosdep can't resolve + # `realtime_tools` for noble, so `apt-get install` skips ros2_control's runtime + # deps; the subsequent `colcon build` then fails at + # `find_package(controller_interface REQUIRED)` in CMakeLists.txt. Upstream root + # cause is that Rolling has migrated to Resolute and its dep chain no longer + # resolves against noble apt. Not fixable at the workflow level here. + # + # Revisit when either (a) `ros-tooling/action-ros-ci` releases a version that + # switches its runner base to Resolute, or (b) we wrap this workflow in + # `industrial_ci` with `OS_CODE_NAME: resolute` (matching moveit2's approach). continue-on-error: true strategy: fail-fast: false