WorksOnArm / equinix-metal-arm64-cluster

Arm and Equinix Metal have partnered to make powerful Neoverse based Armv8 bare metal infrastructure including latest generation Ampere systems — available for open source software developers to build, test and optimize for Arm64 architecture.
http://www.worksonarm.com
77 stars 12 forks source link

Build time to make ROS ARMv8 conda packages #220

Closed wolfv closed 3 years ago

wolfv commented 4 years ago

Name, email, company, job title

Name: Wolf Vollprecht Email: w.vollprecht@gmail.com Company: QuantStack Job title: Open Source Developer, conda-forge member

Project Title and description

RoboStack is a initiative to package ROS software (Robot Operating System) into conda packages.

Which members of the community would benefit from your work?

All members that want to have robotics packages easily installable -- on all platforms -- Windows . ARM is a very widely used architecture in robotics, since robots often run software on the "edge". And in the hobbyist market, many use e.g. Raspberry Pi's to build robots.

Installing ROS with conda is much easier -- it does not rely on a given Ubuntu version (runs on all Linux' with recent enough glibc). A more detailed blog post with reasons can be found here: https://medium.com/@wolfv/ros-on-conda-forge-dca6827ac4b6.

Is the code that you’re going to run 100% open source? If so, what is the URL or URLs where it is located?

Yes, the build recipes & patches are located at https://github.com/robostack/ros-noetic (for the latest ROS 1 release which is currently the farthest compiled), we also have https://github.com/robostack/ros-melodic and https://github.com/robostack/ros-foxy (for ROS 2).

The build scripts are automatically generated by another tool (vinca: http://github.com/robostack/vinca)

What infrastructure (computing resources and network access) do you need? (see: packet.net/bare-metal)?

We would like to run some CI workers to create the linux builds, ideally as self-hosted Azure machines but we can also use Drone CI or any other CI provider.

Describe the continuous integration (CI) system in use or desired for this project.

We are currently mainly using Azure pipelines. You can find recent builds here: https://dev.azure.com/roboforge/ros_pipelines/_build

Please state your contributions to the open source community and any other relevant initiatives

I am a open source developer since 4 years: I am a core contributor to the xtensor project, have developed many Project Jupyter extensions and widgets, and most recently have initiated the mamba package manager (which uses conda packages as well). I am trying to set up a nice pipeline to get conda packages for ROS since 1.5 years :)


We have infrastructure in place to package ROS distributions (Robot Operating System) as conda packages. We would love to add aarch64 packages to the already existing Linux, Windows and OS X builds.

The latest builds (running on Azure CI) can be seen here: https://github.com/robostack/ros-noetic (the builds are on branches buildbranch_linux and buildbranch_osx)

I am happy to provide more informations!

Please note that I am also a member of conda-forge, which you are already sponsoring.

kushalkoolwal commented 4 years ago

Hi Wolf - Were you presented with a template to fill out when you created a new issue? Similar to this: https://github.com/WorksOnArm/cluster/issues/219

Will review the request, once you fill out the template.

wolfv commented 4 years ago

Hi @kushalkoolwal I just updated the text. Sorry for missing the template!

wolfv commented 4 years ago

We have some initial pipeline running on aarch64 here: https://dev.azure.com/roboforge/ros_pipelines/_build/results?buildId=341&view=results

This is currently using AWS Graviton which I pay for myself. Would be awesome if we could get sponsored resources for this.

kushalkoolwal commented 3 years ago

Hi Wolf - Thanks for the info. Are you aware that we already have one system sponsored for the OSR foundation? Wondering if there is a way to use that system for the CI purpose?

wolfv commented 3 years ago

Nope I wasn't aware. I will have to talk to them then. They have a very different setup in terms of ci infrastructure though (as far as I remember)

kushalkoolwal commented 3 years ago

We are connecting the dots here with OSR. Stay tuned. Correction: we have two systems reserved for OSR.

wolfv commented 3 years ago

@kushalkoolwal thanks! Feel free to reach out to me by email or otherwise if necessary. I am really excited about this.

Tobias-Fischer commented 3 years ago

Are there any updates on this? Would love to build some more ROS packages for ARM :)

kushalkoolwal commented 3 years ago

Hello - I asked ROS folks to get in touch with Wolf to see if this request can be accomodated on the existing servers we have for ROS. I will check with our contacts tomorrow and get back to you.

wolfv commented 3 years ago

thanks @kushalkoolwal

wolfv commented 3 years ago

@kushalkoolwal did you hear back by any chance? On my side, I still haven't received any communication by OSRF. However, we could also share time with conda-forge if you allow so.

kushalkoolwal commented 3 years ago

Hi Wolf - You may contact Tully Foote from OSRF. Will get back to you on conda-forge.

wolfv commented 3 years ago

Sharing with conda-forge now. Thanks!