What we're hoping for is the ability to:
Then we could use buildx (https://docs.docker.com/buildx/working-with-buildx/ - what that link mentions as "Building on multiple native nodes using the same builder instance").
We'd configure buildx to be aware of both remote docker hosts, and which one has which architecture; but have one buildx process running that coordinates the build and pushes to a docker repository.
This is what's described at https://circleci.com/blog/building-docker-images-for-multiple-os-architectures/, except that you'd no longer have to rely on QEMU. The difference between using QEMU vs a native node for us is something like 30m vs 5m - which is why we're not using buildx today, because 30m is unacceptably slow for our CI pipeline.