-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on MacOS M1 (Apple Silicon) #7104
Conversation
3804b2b
to
e3fb9a8
Compare
e3fb9a8
to
64e15f6
Compare
@h7kanna, huge thanks to you for working on this issue. I tested it on a 16 GB M1 Mac Pro. The compilation works perfectly. I am able to launch the server and run a sync as well. Some problems I have seen are:
@h7kanna, by the way, do you plan to work on the TODOs? It's ok if you don't. We just need to know what projects we need to prioritize for M1 support. I also confirmed that this PR does not interfere with Intel mac. Build, unit test, and server can all run without any problem. So I think it is worth merging this PR as is (even if the unit test issue cannot be resolved soon), since it can unblock developers working on M1. |
@tuliren My intention of this is to unblock myself to develop on M1 and not break anything for existing build. for the TODO important one is temporal arm64 image. Better way is to engage with the Temporal team if they can include linux/arm64 images be pushed to Docker hub. Do merge it.. Thanks. |
A small change has been made in the master. Our CI runner has an old version of |
- See this doc for details: https://github.com/airbytehq/airbyte/blob/master/docs/contributing-to-airbyte/developing-locally.md - Unit test does not work yet.
What
Experimental Build on macOS M1 (Apple silicon)
How
Upgrade JDK version to 17 and parameterize through an environment variable
Upgrade Node version to 16 and parameterize through an environment variable
Parameterize the docker build platform
Example
Recommended reading order
build.gradle
airbyte-workers/Dockerfile
Pre-merge Checklist
This is an experiment mainly to speed my dev cycle by solving #2017.
Currently, I have to build on a separate Linux machine which is a frustratingly very slow dev loop.
Changes include fixes for the below issues.
TODO
https://github.com/temporalio/temporal/tree/master/docker/base-images
https://github.com/temporalio/temporal/releases/tag/v1.12.3
I am able to successfully run Airbyte on MacOS M1, created sample Connection, Destination, and Source.