erikbra / grate

grate - the SQL scripts migration runner
MIT License
209 stars 40 forks source link

Publish linux/arm64 images #564

Open davidmortiz opened 4 months ago

davidmortiz commented 4 months ago

Is your feature request related to a problem? Please describe. A number of developers are now doing .NET development on Windows and Mac machines that aren't x86. I've noticed that you do offer ARM64 builds of Grate but only x86 docker images. QEMU emulation is fairly slow and doesn't appear to be officially supported by the .NET framework. It would be great to have native ARM images to get rid of emulation layer entirely from our local development process.

Describe the solution you'd like Grate should publish linux/arm64 images

Describe alternatives you've considered Alternatively, you could provide Alpine packages which would be sufficient as well but slightly less convenient as mentioned in https://github.com/erikbra/grate/issues/81

Additional context

erikbra commented 4 months ago

Yes, definitely :) (I work on arm64 a lot myself). I have looked at this one: https://www.meziantou.net/create-a-multi-arch-docker-image-for-a-dotnet-application.htm, but haven't got around to actually doing it yet. It is probably a lot easier now that we have M1 build agents available in github

erikbra commented 4 months ago

This one was a bit more complex than first thought, as there are no github actions runners that run on arm64 that have docker installed (the M1 agents don't have docker installed), so I'll need to migrate to using the dotnet publish to docker feature. This probably takes a bit more time, to make the image compatible