Hello Jonathan,
Thanks a lot for this nice report. Let me summarize a bit the situation first, before commenting on your findings. On our main "berlin" build farm, we have currently a few aarch64 machines: * overdrive.guixsd.org * dover.guix.info * dmitri.tobias.gr * sergei.tobias.gr We are also emulating aarch64 and armhf builds on around 20 x86_64 machines (hydra-guix-101 ... hydra-guix-120 roughly). Regarding the physical machines, the overdrive seems like a modest machine (in comparison to the x86 machines we have), and I don't know about the other 3 ones. For the emulation, even though it's way way slower than real hardware, those 20 machines are really powerful and should be able to bring us good substitutes coverage. The current situation is that due to Cuirass/offloading issues such as [1], our build farm is most of the time idle. Given our computation power, we should be able to bake much more substitutes I think. Maybe we could also take advantage of the build-coordinator Christopher is implementing (+ Guix daemon RPC's over HTTP) to make sure that we are able to deal with a distributed build farm efficiently. Now the question I'm asking myself is: could the ARM substitutes situation be solved by improving our CI software stack, or do we really need more hardware? Hard to answer right now, but maybe the best way to proceed would be to make sure that we are using the hardware we have close to its limit first and then consider buying more. > Neither VPS nor dedicated build machines for ARM are cheap, if they are > decent powerful. As a first step I could try to reach out Linaro if they > are willing to provide us some VMs. Yep, that would be great to explore this option! Concerning the other options you proposed, they are indeed expensive and as I said, at this point, our CI software stack would not be able to use it efficiently, which would be sad. What do other people think? Thanks, Mathieu [1]: https://issues.guix.gnu.org/34033