Hello Avro devs,

What would be your opinion on introducing a second CI for Avro to execute
the build and tests on Linux ARM64 architecture ?

Currently Avro uses GitHub Actions (GHA), which is a really nice CI
platform for open source projects!
But GHA has only x86_64 runner nodes. One could use self-hosted runners but
they are not recommended for public repositories due to security concerns (
https://cwiki.apache.org/confluence/display/INFRA/GitHub+-+self-hosted+runners
).
There are several GHA-like cloud-based CIs like CircleCI, CirrusCI and
DroneIO but they are not allowed by Apache Infra team because they want
write permissions to the repo.
So, the only option at the moment is TravisCI!
Some Apache projects have used TravisCI in the past but moved to GHA
because of its better experience and because at some point TravisCI was too
crouded and the wait-queue was too big.
The wait-time is no more a problem these days, especially for the ARM64
nodes!

In my experience most of the issues related to ARM64 in Big Data projects
was due to data serialization libraries like Protobuf and Snappy which use
native libraries and until some point they didn't come with binaries for
aarch64.
For Avro, CI on ARM64 would be beneficial mostly for the C and C++ modules
but also for the interpreted language ones, e.g. Apache Pig does not build
on ARM64 with Avro Java 1.7.7 but works fine with 1.8.2 (I didn't dig what
exactly was the cause).

If my proposal is accepted I volunteer to do all the required work!

Regards,
Martin

Reply via email to