ubi-agni / ros-builder-action

Github action to build .deb packages from ROS sources
https://ros.packages.techfak.net
5 stars 5 forks source link

Question: arm64 and armhf support #9

Closed flixr closed 1 month ago

flixr commented 1 month ago

Would you also be willing to build arm64 and armhf packages and provide them in the https://ros.packages.techfak.net/ repo?

rhaschke commented 1 month ago

I'm fine to host arm packages on ros.packages.techfak.net. However, I never dived into building them and don't have the resources to do so. So, if you come up with a solution to build those packages, I'm happy to release them.

flixr commented 1 month ago

I think it should be rather easy to add the arch and build with qemu as in https://github.com/jspricke/ros-deb-builder-action Would be nice if we could coordinate a bit with @jspricke and also @v4hn on how to continue with something like that.

rhaschke commented 1 month ago

I never got feedback on my integration proposal here.

v4hn commented 1 month ago

I think it should be rather easy to add the arch and build with qemu as in https://github.com/jspricke/ros-deb-builder-action Would be nice if we could coordinate a bit with @jspricke and also @v4hn on how to continue with something like that.

I would be happy to include the arch generalization from Jochen's project in the ros-o-builder CI, if you can provide a PR for the respective ros-deb-builder-action fork. I don't have any use for arm builds myself at the moment, so I wouldn't really be able to test it. 🤔

Edit: Please note I'm currently migrating to https://github.com/v4hn/ros-o-builder-experimental/ , which will be pushed to https://github.com/v4hn/ros-o-builder soon

v4hn commented 1 month ago

I never got feedback on my integration proposal here.

Sadly very true! Do you have time for a call this late afternoon/evening?

rhaschke commented 1 month ago

@v4hn, yes I can arrange for a call today. What time and format (phone vs. zoom) do you have in mind?

v4hn commented 1 month ago

Sorry for hijacking the issue here for comments on a meeting in general. FYI @flixr: Robert, Jochen and me discussed the general way forward for ROS-O builds based on the github CI, but no concrete next steps for other architectures were decided. You are very much invited to contribute a patch for qemu based arm builds in a https://github.com/v4hn/ros-o-builder fork (which might be straight-forward) for testing on your end and this builder if it proofs feasible. @jspricke's main concern was that cross-architecture builds will likely fail with various ROS packages and native qemu builds might be very slow.

flixr commented 1 month ago

Sounds good! Maybe we would also need a way to specify which packages we (don't) want to build for armhf/arm64.

rhaschke commented 1 month ago

You can just provide a separate .repos file.

v4hn commented 1 month ago

Maybe we would also need a way to specify which packages we (don't) want to build for armhf/arm64.

Personally, I'm a big fan of attempting builds for all packages (with deps built) and provide public logs where anyone can inspect errors and attempt to fix them. Of course a minimum set of packages needs to build so that it makes sense to provide them in the repository.

jspricke commented 1 month ago

Maybe we would also need a way to specify which packages we (don't) want to build for armhf/arm64.

Personally, I'm a big fan of attempting builds for all packages (with deps built) and provide public logs where anyone can inspect errors and attempt to fix them. Of course a minimum set of packages needs to build so that it makes sense to provide them in the repository.

I recommend starting with a small set, building with Qemu will probably overload the VMs so no need to try everything. @flixr feel free to reach out if you bump into problems.

rhaschke commented 1 month ago

github added ARM64 runners recently and will provide the to open source projects by the end of the year:

These runners are available to our customers on our GitHub Team and Enterprise Cloud plans. We expect to begin offering Arm runners for open source projects by the end of the year.

Alternatively, one could add a self-hosted runner already now. For these, ARM64 and ARM32 are supported. However, we don't have ARM machines available.

rhaschke commented 1 month ago

@ojura has setup a self-host ARM64 runner and built a Noble distro. See #15 for details. Closing here.