I have an application on balenaClould that targets the Raspberry Pi Zero.
My dockerfile downloads and runs a prebuilt binary (of Swift and the Swift Package Manager) that was built for the Raspberry Pi Zero with Raspbian.
This Swift binary is then used to compile my application.
The docker image builds and runs successfully using
balena local push.
It also builds and runs successfully using
balena deploy --build --source . --dockerHost <shortUUID>.local --dockerPort 2375 AppName as discussed here: Are you still running some image builders on an emulator?
Unfortunately, the build fails using the native arm cloud builders (it hangs indefinitely when asking the Swift Package Manager binary what version it is).
The build also fails using the emulated cloud builders as suggested here: Resin.io's cloud fails to compile properly (the build gets a little further than the native builders, but still ultimately fails).
Using the local Raspberry Pi Zero as the builder is a workaround, but it’s very slow compared to the cloud builders. Any suggestions / context as to why the cloud builders could fail here would be greatly appreciated.
Probably unrelated – but for some additional context: I have a different Swift application that targets the Raspberry Pi 3 that is able to build with the native arm cloud builders (this app uses a different Swift binary that’s built for the Raspberry Pi 3 architecture).