ephemeral-mongo
ephemeral-mongo copied to clipboard
ARM64 is not supported
ARM64 will not be supported by default. The two main usecases for using EphemeralMongo are:
- Integration testing - mosly on CI agents which use x64 architecture by default,
- Local development environment - most developers use x64 architecture.
You can still manually download MongoDB binaries for ARM64, only use the EphemeralMongo.Core library, and specify the binaries directory path using options.BinaryDirectory.
Adding ARM64 will increase the total size of downloaded packages. As of today, all OS/CPU architecture specific runtime packages are downloaded even though you only need one. That's because NuGet does not support conditional dependencies on both the target framework moniker (TFM) and a runtime identifier (RID). See related issue #2.
When this will be supported by NuGet, we'll be able to add new OS/CPU architecture specific runtime packages. Until then, ARM64 will not be supported by default.
Hello! I think in 2024 it's already critically necessary adding arm64 architecture for macOS (as the lifecycle of x86 devices from Apple is coming to an end) and for Linux due to the widespread use of Ampere, AWS Graviton, etc. ARM processors in cloud env, and Raspberry Pi-like devices at home.
Why not publish optional packages for ARM that could simply be added as described in the manual "Reducing the download size"?
<PackageReference Include="EphemeralMongo6.runtime.linux-arm64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
I'm giving up distributing the MongoDB binaries through NuGet. This won't be an issue anymore. From now on (version 3.0.0 and later), binaries for any operating system or CPU architecture will be downloaded at runtime. See #80.