Enable support for arm64#231
Conversation
This allows the .NET Standard/Core/5.0 assemblies to work with both x64 and arm64.
adamreeve
left a comment
There was a problem hiding this comment.
👍 Looks good to me. 20 minutes seems like a long time to run the tests. It could be worth checking if there's any easy way to reduce the runtime (eg. can we reduce test data sizes for the longest running tests?). That would probably be a separate PR though
Indeed, that's 20 times longer than the other runs. These 20 minutes include pulling the docker image though (not sure how fast that is on GH). |
Pulling the docker image seems pretty fast — it's really the emulation of the restore+build+test that's killing the performance (unsurprisingly 😞) |
Fixes #228
This PR enables support for the arm64 architecture (aka aarch64 on Linux, or Apple Silicon on macOS).
This is possible thanks to microsoft/vcpkg#21467 that has been merged in vcpkg. Support for arm64 on Windows is not yet enabled, as it requires further changes to vcpkg.
The CI pipeline is updated to build the native libs for arm64 on Linux and macOS, and to test the arm64 Linux build through emulation. The arm64 macOS build has been tested locally on a M1 Mac, but cannot yet be tested through the CI (waiting for macstadium.com to enable our Open Source account).
Caveats: the NuGet package size goes from 18MB to 29MB, and running the tests on emulated arm64 takes almost 20 minutes.