-
Notifications
You must be signed in to change notification settings - Fork 92
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
feat: build for ARM unix devices #1137
Conversation
✅ Deploy Preview for apollo-cli-docs ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
There's quite a bit to review, I hope I didn't miss anything 😅 |
I've been updating the PR body here but wanted to provide another comment update - the next federation packages of v1/v2 could be a bit of a wait to get out the door. We're blocked here until those come out. |
This comment was marked as off-topic.
This comment was marked as off-topic.
What's the status of this PR? |
@EverlastingBugstopper It seems like supergraph was released with arm support a while ago. Is there anything still missing in order to merge this? |
closing in favor of #1356 - i've updated the status there, hoping to get this out soon. ARM support has landed in all plugin upstreams, |
This PR supercedes #1137 as the rebase was much too gnarly. This is essentially that same PR. Copying the description w/updated status below: We should not merge this PR and release ARM support until we can run the latest `rover supergraph compose` and `rover dev` commands on ARM. The following must happen, in order, before landing this PR. - [x] Test ARM support with `federation-rs` release candidates - [x] Release[`[email protected]` _(javascript)_](https://github.com/apollographql/federation) - [x] Release[`[email protected]` _(rust)_](https://github.com/apollographql/federation-rs) - [x] Test downloading and running `supergraph compose` with `2.0.6-rc.0` in a `supergraph.yaml` with `rover` built from `main` natively on an M1, and in Docker on an M1 - [x] Continue releasing release candidates until it all works. ~Hopefully it is just `2.0.6-rc.0`. If that works, it is safe to assume 0.x will work, so no release candidate will be needed there.~ _update: it was not that easy, the next two steps are new_ - [x] Remove the CI builds for `aarch64-apple-darwin` apollographql/federation-rs because [V8 snapshots cannot be cross-compiled from x86_64 machines](denoland/deno#4862 (comment)) and [CircleCI does not currently provide native ARM64 Mac machines](https://circleci.com/docs/2.0/using-arm/#m1-mac-support) meaning we _have_ to cross-compile if we want ARM binaries at all. If either of those things change, we will revisit this decision. - [x] Test downloading and running `supergraph compose` with `2.0.6-rc.1` in a `supergraph.yaml` with `rover` built from `main` natively on an arm ubuntu device, and in Docker on an M1 - [x] Release first stable `federation-rs` releases with native ARM support (only Linux binaries, no ARM64 MacOS binaries) - [x] Release [`[email protected]` _(javascript)_](https://github.com/apollographql/federation) - [x] Release [`[email protected]` _(rust)_](https://github.com/apollographql/federation-rs) - [x] Release [`[email protected]` _(javascript)_](https://github.com/apollographql/federation) - [x] Release [`[email protected]` _(rust)_](https://github.com/apollographql/federation-rs) - [x] Test downloading and running `supergraph compose` with the packages we just released - [x] Release [`[email protected]`](https://github.com/apollographql/router) - [x] Prepare ARM support for Rover - [x] Cut `[email protected]` - [x] Test downloading and running `supergraph compose` natively on an M1, and in Docker on an M1 - [x] Release more rcs until we are confident everything works - [x] Wait for the cloud router to default to version 2.1.x
We should not merge this PR and release ARM support until we can run the latest
rover supergraph compose
commands on ARM.The following must happen in order before landing this PR.
federation-rs
release candidates[email protected]
(javascript)[email protected]
(rust)supergraph compose
with2.0.6-rc.0
in asupergraph.yaml
withrover
built frommain
natively on an M1, and in Docker on an M1Hopefully it is justupdate: it was not that easy, the next two steps are new2.0.6-rc.0
. If that works, it is safe to assume 0.x will work, so no release candidate will be needed there.aarch64-apple-darwin
apollographql/federation-rs because V8 snapshots cannot be cross-compiled from x86_64 machines and CircleCI does not currently provide native ARM64 Mac machines meaning we have to cross-compile if we want ARM binaries at all. If either of those things change, we will revisit this decision.supergraph compose
with2.0.6-rc.1
in asupergraph.yaml
withrover
built frommain
natively on an arm ubuntu device, and in Docker on an M1federation-rs
releases with native ARM support (only Linux binaries, no ARM64 MacOS binaries)[email protected]
(javascript)[email protected]
(rust)[email protected]
(javascript)[email protected]
(rust)supergraph compose
with the packages we just released[email protected]
)https://github.com/apollographql/router[email protected]
supergraph compose
natively on an M1, and in Docker on an M1rover@vNext
!