opentelemetry-cpp
opentelemetry-cpp copied to clipboard
Enable ppc64le, s390x architectures on opentelemetry-cpp
Hi,
Thanks for the wonderful readme/documentation, I could build opentelemetry-cpp from the source almost instantly, run the tests outlined successfully on architecture in the subject.
In case, if you are wondering what ppc64le, s390x architectures are? ppc64le is a RISC Architecture and is IBM's prodigy, IBM has made its ISA (Instruction Set Architecture) open-source, doing so they have contributed back to the opensource world. Many of the pioneers of banking, HPC industries today run on ppc64le architecture.
s390x (IBM Z) is a CISC architecture used in IBM and some other vendors' mainframe systems. Mainframe computers were established in the 1960s and continue to evolve retaining full backward compatibility. Nowadays they are used for tasks such as censuses, industry and consumer statistics, enterprise resource planning, and large-scale transaction processing.
We are trying to enable this project and we have seen no/minimal deviation in build/test instructions.
I understand GH Actions is used as CI/CD, for a ppc64le/s390x we would like to propose TravisCI.
Thanks for trying out @krishvoor. @esigo is working on multi-platform builds using QEMU emulator in #1165. Once this is done, we should be able to support ppc64le/s390x using GH Actions. But TravisCI looks good too, as it has support for multiple platforms without using external actions. Something we can think of if there are any issues with supporting using GH Actions.
Hi, @lalitb Thanks for your response. GH Actions + QEMU will work on multi-arch, from my observations, I have seen poor performances and test timeouts during the lifecycle of the PR Merge Process. We can definitely consider TravisCI if we see similar issues with GH Actions + QEMU :)
Hi @krishvoor thanks for reaching out to us. I was wondering if there is a native multi-arch support on TravisCI or they just use emulation?
Hi @esigo,
Do they just use emulation?
The short answer is No, per TravisCI, they support two virtualization environments:
- LXD ( Faster spin-up times )
- Full VM ( Full virtual machine, without limitations )
To understand further what infrastructure they natively run on, you can read it here
If you have any further questions, please let me know, will be happy to clarify/work with you on the next steps.
Just to add here from a non-technical perspective, CNCF has established an agreement and generous plan with Azure Pipeline and Github Actions, and most of the projects under CNCF (including projects under OpenTelemetry) have migrated to Github. It would be good if we can achieve multi-architecture support on Github ( maybe this requires caching binaries for external dependencies like jaeger, grpc, thrift, etc ) to speed up the build.
Just a thought, nothing to take away from the TravisCI functionality as it looks to have better support for multiple platforms.
Hi @lalitb 👋 I see issue 1165 is closed, is this effort tracked elsewhere?
#1165 was wrongly closed by the bot (which is meant to close only state issues), have reopened it now.
@ThomsonTan FYI
This issue was marked as stale due to lack of activity.