Running snapcraft on Ubuntu server arm64 (Raspberry Pi 3 B+)

I don’t know about multipass on arm, sorry. There’s at least 3 other options.

  1. snapcraft --use-lxd which prints the following on usage:
The LXD provider is offered as a technology preview for early adopters.
The command line interface, container names or lifecycle handling may change in upcoming releases.

It requires you have snap install lxd and sudo lxd init and added yourself to the lxd group then logout/in (or newgrp lxd) before running. But that’s all once-off setup.

  1. Use snapcraft.io/build which requires your code to be in github, or a packaging branch in github which points to your code elsewhere. I use this for a lot of projects. It’s quite handy and easy to setup.

  2. Use launchpad.net which is the backend of snapcraft.io/build and enables you to have more control over the project. You can create a project in launchpad, push code there, and then setup a recipe to build on each commit. Alternatively launchpad can mirror code hosted elsewhere (if needed) and then build in launchpad infrastructure

Finally there’s remote-build which is a new feature of snapcraft 3.9 (currently in the candidate channel) which is useful for open source projects. It will push your code to launchpad, build it, and then pull the results down to your workstation (or CI if run there) for further publishing or testing. This is a really super feature I have been eager to use for some months now. It saves me battery life because I’m not building locally. Here’s an asciinema of it in action.

asciicast

2 Likes