Hello Drill developers, Recently I've tried to build Apache Drill on ARM64 hardware running on Linux. I have found few issues which are described in issue https://issues.apache.org/jira/browse/DRILL-7911
I've created few Pull Requests with fixes for each issue: - https://github.com/apache/drill/pull/2217 - use TestContainers-MySQL instead of Wix-Embedded-MySQL - https://github.com/apache/drill/pull/2218 - Disable Storage-Splunk unit tests on Linux ARM64 because there is no Docker image of Splunk for Linux/arm64 - https://github.com/apache/drill/pull/2219 - Increase Max Direct Memory Now I would like to suggest adding CI testing on ARM64 to prevent regressions in the future. The problem is that GitHub Actions (the CI system used by Apache Drill) does not yet support ARM64 architecture. Here are the possible solutions I am aware of: * use TravisCI only for running `mvn install` on Linux ARM64 Pros: - TravisCI supports Linux ARM64 out of the box and the config is quite simple - Might be useful later if someone wants to add testing on Linux s390x Cons: - Use a second CI for such specific purpose * Use GitHub Actions to run the build at a remote Kubernetes cluster with ARM64 nodes More details about this approach could be read at https://martin-grigorov.medium.com/githubactions-build-and-test-on-huaweicloud-arm64-af9d5c97b766 Disclaimer: I work for OpenLab Testing and Huawei sponsor us, so I can get you a free account at HuaweiCloud for such setup. The same setup could be used with any other Kubernetes provider! * Use CircleCI instead of GitHub Actions Pros: - native support for both x86_64 and aarch64 (https://github.com/CircleCI-Public/arm-preview-docs) - CircleCI allows connecting via SSH to a builder node. This way one can debug issues - higher job timeout (5h) - https://circleci.com/docs/2.0/runner-installation/#runner-max_run_time. Currently Github Actions often fail due to build timeouts of 90mins - it is less crowded than the Apache organization at GitHub Actions (https://ibb.co/RpFyQQy), so there is less wait time for the build Cons: - work is required to migrate from GitHub Actions to CircleCI I volunteer to do the work for any of these options. Just please let me know which one is your preferred one! Regards, Martin
