If ARM continues to take off, this will be a pretty useful tool. I'm building Rust native binaries for one of my projects using buildx, but it's 1) way too slow using buildx emulation and 2) way too slow to build on the Pi itself.
In the end I created a hacky build process where I use a single container to build both the x64 and ARM versions serially, and then create multi-arch containers in a separate step. It was very painful to get the right native libraries installed, and it's not terribly easy to build these two platforms in parallel.
In short, having access to real ARM builders would be great, and persistent disks would probably boost my build performance quite a bit.
Hey there! I'm the other half of Depot. This is an awesome tool you have built, I have actually been looking for something like this for myself as well.
Couldn't agree more with the pain points you mention, it was the biggest things that led us to start Depot and we're really excited about what we can do next.
If you ever want to do way with your hacky build process and try out Depot, we have a free tier now.
FWIW setup was pretty easy, but I got an RPC error halfway through my build. Not sure what happened here, though it looks like things were definitely building quicker!
Error: failed to receive status: rpc error: code = Unavailable desc = closing transport due to: connection error: desc = "error reading from server: EOF", received prior goaway: code: NO_ERROR
Error: failed with: Error: failed to receive status: rpc error: code = Unavailable desc = closing transport due to: connection error: desc = "error reading from server: EOF", received prior goaway: code: NO_ERROR
I didn't have a chance to clean up the hacks yet but I'll give that a shot and see if it clears up the error. It might just be how intense the Rust build process is for this project.
Hey, I'll look into this one - this kind of error usually means that the BuildKit server believes the build has finished, but the CLI missed the fact that the build ended. It _might_ be related to your Rust build, but I want to make sure there's not something happening on our end.
In the end I created a hacky build process where I use a single container to build both the x64 and ARM versions serially, and then create multi-arch containers in a separate step. It was very painful to get the right native libraries installed, and it's not terribly easy to build these two platforms in parallel.
In short, having access to real ARM builders would be great, and persistent disks would probably boost my build performance quite a bit.
The dockerfile that I had to use: https://github.com/mmastrac/progscrape/blob/master/Dockerfil...
Example build run (~20 mins): https://github.com/mmastrac/progscrape/actions/runs/42285298...