Hi Martin,
  The ARM-based system is the trend of computing architecture. multicore and 
low-energy. I'll help to drive this plan.

> 2021年5月8日 上午12:47,Ted Dunning <ted.dunn...@gmail.com> 写道:
> 
> Martin,
> 
> This is exciting stuff that you are doing and very useful.
> 
> My thought is that of the options you describe, it seems like the travis
> option is a good first step because it is nearly trivial (just add the ci
> config file with a trivial build and test)
> 
> Running builds on a remote builder nodes seems to me to increase
> dependencies that could cause debug actions at a later stage. I don't
> understand the level of stability that should be expected and I don't
> understand how certain that expectation should be.
> 
> I am not clear on CircleCI versus Github Actions versus travis. The
> timeouts sound better and you mention arm support, but I have no experience
> to guide.
> 
> Others probably have better and more complete thoughts than these.
> 
> 
> 
> On Fri, May 7, 2021 at 5:02 AM Martin Tzvetanov Grigorov <
> mgrigo...@apache.org> wrote:
> 
>> 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
>> 

Reply via email to