opentelemetry-demo
opentelemetry-demo copied to clipboard
Support multi-arch builds
This fixes the problems with multi-arch builds -- the context for each build is not consistent.
Ok, good news/bad news.
Good news, this is actually building things! Bad news, it's slow as heck because of qemu emulation.
I believe we could fix this by using https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/ to build amd64 base images and arm64 binaries, but I'm not entirely sure if that'll help for stuff like PHP. I'd intuit that it'd help in C++, but I'm not sure if it'd work to build amd64 grpc and otel then link to an arm64 binary.
Would love if @brettmc and/or @DebajitDas could chime in with ideas as well.
Cc @lalitb on the above question too
but I'm not sure if it'd work to build amd64 grpc and otel then link to an arm64 binary.
That won't work for C++. Tagging @esigo as he has done some work on qemu/ARM CI builds earlier.
I know only two ways to address the slow build issue.
- The dependencies being stored in some image and hosted in some registry (not possible for us I think).
- Saving the dependencies image in GitHub actions artifact and loading the artifact before builds similar to what I was trying to do here.
I can work on the second option after C++ metric GA.
Please see https://github.com/open-telemetry/opentelemetry-demo/issues/458#issuecomment-1297170414 for the current state of work here.