Product
February 20, 2024

Publish modules to multiple platforms with Cloud Build

Natalia Jacobowitz
Product Manager
On this page

Cloud Build lets you start on any one platform and ship to every platform.

The Viam Modular Registry enables module authors to extend Viam’s functionality by creating modules that anyone in the world can use on their machine, opening up a world of potential new customers. Now, with Viam’s Cloud Build, we make it even easier to publish a module to multiple platforms so that you can further expand the reach of your module. 

Previously, it was easy to build your module and publish it for the architecture you specifically worked on. For example, if you built your module on a Raspberry Pi, your module would work for Linux machines with arm64 architecture; however, it wouldn’t work by default for someone running Viam on their Mac. If you wanted to extend your module to work also on a Mac, you would have needed to find yourself a laptop running macOS to build the module there so that someone else would be able to use it on their Mac. On top of that, you would have had to do this every time you made an update to your module!

Now, with Viam Cloud Build, we let you indicate which architectures you want your module to build on, and we simply build it for you. No matter what language you wrote your module in – C++, Python, Golang, etc. – the new Viam Cloud build works for any of them. You simply need to add the list of architectures you want the module built for inside your meta.json, and then you can use Viam’s provided action template inside a new workflow with GitHub Actions. Then as part of your continuous integration flow, each time you update your module, Viam will build your module for the desired platforms too. 

At this moment, with Cloud Build you can build your module for the following architectures: linux/amd64, linux/arm64, and darwin/arm64. To see the full list of architectures, check out our docs here

Cloud Build is our recommended path for module authors adding CI to a new module.

The goal here was really to expand the reach and enable more people to use any module with less effort for the module creators. 

I have created a brief video outlining the steps I described in this post to publish a module to multiple platforms. 

If you’re ready to start building, follow our docs and follow the instructions for “CI with build-action”, or check out the README and the open source code behind this feature.

twitter iconfacebook iconlinkedin iconreddit icon

Find us at our next event

Apr 3, 2025
Apr 3, 2025
,

DotJS

In Person
Paris, France
JavaScript developers are invited to join Viam in Paris to learn how to overcome challenges of working with code in the physical world.
Join Us
Apr 15, 2025
Apr 15, 2025
,
03:00-04:00 PM EST

LIVESTREAM: Build a self-checkout with computer vision

Virtual
Build a real-time people detector using computer vision and a piezo buzzer with Adrienne and Nick from Viam's DevRel team in this hands-on livestream.
Watch live!
Apr 17, 2025
Apr 17, 2025
,
06:30 - 09:30 PM EST

NY Hardware April 2025 MeetUp

In Person
1900 Broadway Floor 6 New York, NY
Join us at the Viam office for the next NY Hardware Meetup! Viam Product Manager, Esha Maharishi, will be doing a live demo, and there will be plenty of time to connect with fellow hardware enthusiasts. Whether you're deep in the industry or just curious, come by for great conversations, hands-on tech, and free food and drinks!
Sign Up