Skip to content

Enable ARM jobs for Connext RMW#853

Open
fgallegosalido wants to merge 6 commits intoros2:masterfrom
fgallegosalido:feature/852-aarch64-connextdds-support
Open

Enable ARM jobs for Connext RMW#853
fgallegosalido wants to merge 6 commits intoros2:masterfrom
fgallegosalido:feature/852-aarch64-connextdds-support

Conversation

@fgallegosalido
Copy link

Description

Enable building the rmw_connextdds in aarch64 only using Debian packages.

Fixes #852

Is this user-facing behavior change?

Pull requests can now run CI on aarch64 using the rti-connext-dds-7.3.0-ros Debian package. This should also allow the generation of the rmw_connextdds packages and its dependencies for aarch64.

Did you use Generative AI?

No

Additional Information

The aim of these changes is to allow the Connext RMW to officially support aarch64 architectures.

Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
@fgallegosalido
Copy link
Author

@clalancette could you run a validation to make sure Linux aarch64 is being built and tested? Once the built is running correctly, any further test issues we find, we will fix them as part of ros2/rmw_connextdds#222.

@fgallegosalido
Copy link
Author

@clalancette @cottsay @fujitatomoya can someone look into this? We would like to get this merged before Lyrical Luth.

Comment on lines +65 to +66
echo "Connext is only supported on amd64 architecture. Skipping Connext installation." >&2
exit 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing behavior is to quietly skip connext installation on aarch64 even if requested. While this PR enables the deb installation scenario, I think we should continue the existing behavior and not fail the build if non-deb installation is requested.

The main scenario here is that someone might trigger a job from the launcher that uses the non-deb Connext installation. I don't think it would be a good experience if the aarch64 builds suddenly start failing and require re-running with connext disabled.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a couple of places where we do exit 1. Should we remove those too so that the build doesn't fail?

Copy link
Member

@cottsay cottsay Mar 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove those too so that the build doesn't fail?

It's totally appropriate to raise a critical error if something is expected to work and doesn't. This case is different though - it's not supported and is not expected to work, and the previous behavior for that scenario (requesting Connext via binaries on arm64) was to quietly continue the build.

Copy link
Author

@fgallegosalido fgallegosalido Mar 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I refactored the Connext installation into a new function, maintaining the same behavior as before. Let me know what you think and launch a validation as soon as you feel okay with the code.

Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
… setenv script for ARM architectures

Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
@fgallegosalido
Copy link
Author

@cottsay @clalancette could you review the pr again and launch a validation if possible?

fgallegosalido and others added 3 commits March 24, 2026 10:23
Co-authored-by: Scott K Logan <logans@cottsay.net>
Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
… x86 architectures

Signed-off-by: Francisco Gallego Salido <fgallego@rti.com>
@fgallegosalido
Copy link
Author

@cottsay I think the pull request is in good shape. Can we get a CI validation for the changes? And also make sure they run in ARM.

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.

Enable ARM64 build with use_connext_debs for rmw_connext

2 participants