rover icon indicating copy to clipboard operation
rover copied to clipboard

feat: build for ARM unix devices

Open EverlastingBugstopper opened this issue 2 years ago • 4 comments

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.

  • [x] Test ARM support with federation-rs release candidates
    • [x] Release[email protected] (javascript)
    • [x] Release[email protected] (rust)
    • [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 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.
    • [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
  • [ ] Release first stable federation-rs releases with native ARM support (only Linux binaries, no ARM64 MacOS binaries)
  • [ ] NOW, we can merge this PR!
  • [ ] Release ARM support for Rover
    • [ ] Cut [email protected]
    • [ ] Test downloading and running supergraph compose with 2.0.6-rc.0 in a supergraph.yaml with [email protected] natively on an M1, and in Docker on an M1
    • [ ] Release more rcs until we are confident everything works
    • [ ] Cut rover@vNext!

EverlastingBugstopper avatar May 26 '22 17:05 EverlastingBugstopper

Deploy Preview for apollo-cli-docs ready!

Name Link
Latest commit ca9d9303a60ab981c89780e8875a008d21f13cc7
Latest deploy log https://app.netlify.com/sites/apollo-cli-docs/deploys/62b2124d8f97b0000cda8451
Deploy Preview https://deploy-preview-1137--apollo-cli-docs.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

netlify[bot] avatar May 26 '22 17:05 netlify[bot]

There's quite a bit to review, I hope I didn't miss anything 😅

o0Ignition0o avatar Jun 08 '22 07:06 o0Ignition0o

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.

EverlastingBugstopper avatar Jun 21 '22 19:06 EverlastingBugstopper

What is stopping you all from just compiling for --target aarch64-unknown-linux-gnu and hosting it for everyone to use in the meantime?

hobbsh avatar Jul 21 '22 15:07 hobbsh

What's the status of this PR?

reduxdj avatar Sep 13 '22 13:09 reduxdj

@EverlastingBugstopper It seems like supergraph was released with arm support a while ago. Is there anything still missing in order to merge this?

danilobuerger avatar Sep 23 '22 12:09 danilobuerger

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, supergraph binaries and the next release of the router binary (should be coming soon) will include ARM support.

EverlastingBugstopper avatar Sep 29 '22 21:09 EverlastingBugstopper