Full Rebuild May 2026: bump ros2-distro-mutex to 0.9.0 and build_number to 18#403
Conversation
1d086cd to
283f094
Compare
I think we should have the abi_migration_branches active for all libfranka versions in conda-forge to avoid this, so we should be able to use 1.15.1 as done in https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/9904691dfd1261cf018b55e2e6cb95f8a3fd69a4/recipe/conda_build_config.yaml#L892 . Currently we mantain 0.9.2 and 0.15.0 as old libfranka versions to be rebuilt with recent versions of deps, see https://github.com/conda-forge/libfranka-feedstock/blob/main/conda-forge.yml#L3-L5 . Can we use libfranka 0.21.2 here? If not, we can add 0.20.4 as abi migration branch in libfranka-feedstock (fyi @nmarticorena). |
Can't we just use the conda-forge package for it? That is the conda equivalent to "Use tl/expected.hpp from libexpected-dev". |
In a nutshell, I think we can just define the |
|
@esteve can we use the "Full Rebuild May 2026: bump ros2-distro-mutex to 0.9.0 and build_number to 18" title scheme, used in other PRs? That make it easier to find full rebuilds PR by specifying the build number and the mutex version. |
87fb6af to
ce47cd9
Compare
I've replaced |
I've removed the pin, Pixi should now pick whatever version of |
I bumped libfranka to 0.21.2, as the changes w.r.t. to 0.20.4 are minimal. I also added a fix for #397 . |
FWIW, I recently installed libfranka on a brand new FR3 manually using libfranka 0.21.2 from conda-forge and ros-humble, so I can confirm it works normally |
|
@traversaro can you trigger another CI run? I've fixed the patches for Windows and macOS, but I have no way of testing them locally as I don't have either. Thanks. |
|
I forced a full rebuild, it is possible that this exposed some new failures that were hidden by the cached results. |
|
I am a bit confused by whole the: As we are still building a |
I don't think this is the right approach:
I added those add/remove lines because I assumed that each package was built in isolation and I wanted to make sure that tl-expected was not installed when building the the patched packages. |
Ah, I missed this. Then the current approach is fine for me. |
|
The ubuntu-24.04-arm CI job is failing with this: Seems to be an internal rclcpp/rcl issue not related to packaging, I don't know what is expected to be done in these cases. |
I think this was just a flaky failure, restarting seems that the test pass fine. |
|
Looks like https://github.com/RoboStack/ros-humble/actions/runs/25725011648/job/75655014701?pr=403 (osx-arm64) built the packages fine, but there was a DNS resolution error for github.com that made the job fail. At least the Ubuntu jobs passed. |
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve.fernandez@bonsairobotics.ai>
Signed-off-by: Esteve Fernandez <esteve@apache.org>
4c7f9c2 to
16cf4e8
Compare
Signed-off-by: Esteve Fernandez <esteve@apache.org>
|
@traversaro I updated the smoke test to query |
|
The cache is still invalidated, would we need to disable |
Yes please |
Thanks! That test is quite important as one of the few that is actually testing the rmw and everything else actually works in practice, so increasing its robustness is really helpful. |
|
Some of the jobs get canceled, I don't know if it's because they take too long (linux-64 takes about 6 hours) or because they are canceled by another CI run. |
Changed IGNORE_CACHE_AND_DO_FULL_REBUILD to 'false' to allow cache usage.
|
It seems to me that CI jobs are getting canceled because they hit the 6 hour limit (https://docs.github.com/en/actions/reference/limits), however self hosted runners do not have that restriction, is there any external infrastructure that could be used? Build times will get longer and longer the more packages that are added. |
|
There are a few providers that offer free CI for open source projects, e.g. https://buildkite.com/pricing/ Would be super happy to see this explored, but personally I don't have the bandwidth currently to contact them and then switch over the CI here. At the moment, we typically get around it by running 2x6 hour jobs or so; it works fine on Linux and MacOS; Windows is a pain as it doesn't save the cache if it times out; there we need to manually cancel the workflow within the 6 hour window. |
|
For this PR, I'd be happy to merge and sort out any potential remaining issues on the |
Ok for me! |
|
Thank you @esteve! |
|
@esteve - the robot-state-publisher is stuck on the build branches (see Actions) on MacOS. Any clue what's going on? Windows and Linux builds have completed :) |
Not sure what's happening there, but I'll have a look. It's weird that Windows passed but macOS just hangs. |
|
@Tobias-Fischer can you paste the log somewhere? Thanks |
See:
The hanging log is: |
|
@traversaro @Tobias-Fischer PR #407 should fix this issue. |
This PR prepares a new full rebuild for ROS Humble with the following fixes:
Pinrattler-buildto>=0.57.0,<0.58to avoid regression in the solver (see Full rebuild fails onros-humble-ament-uncrustifypackage #400 and fix: respect run dependencies on sibling outputs for build ordering prefix-dev/rattler-build#2488)Pinpocoto 1.15.0 because the version of libfranka on conda-forge that ROS Humble depends is built for1.15.0and letting Pixi upgradepocowould cause a conflict.Replace uses oftl_expectedwith the vendored version inrcpputils, I've made it an explicit dependency, but it's included viarclcppso there are some warnings about overdependency.tl_expectedis deprecated and will be removed in ROS Lyrical Luth (see https://index.ros.org/p/tl_expected/#humble)cpp-expectfrom conda-forge and expose it as alibexpect-devrosdep key.autoware_ground_filterouster_rospackage, somehowsysmacros.his included and initializingmajor/minorusing parenthesis would trigger the macros insysmacros.h, so I changed it to use braces.Skiplibrealsenseand downstream dependencies because the version available on conda-forge is too old (see Update librealsense to v2.57.7 conda-forge/librealsense-feedstock#83)