go-spatial / tegola

Tegola is a Mapbox Vector Tile server written in Go
http://tegola.io/
MIT License
1.25k stars 192 forks source link

Push images for more architectures to Docker Hub registry #940

Closed manastyretskyi closed 10 months ago

manastyretskyi commented 10 months ago

Hi, my name is Liubomyr and I'm a big fan of your project. I'm writing to you today because I have a suggestion that I think could improve it.

Sadly, currently gospatial/tegola only has images for linux/amd64 architecture, which means that it is not possible to use official image on different architectures like linux/arm64. I think it would be great to add official images for other architectures. The buildx that can be used to build multi-platform images. There is also an official GitHub action that can be used as well.

I would be happy to help with this, if needed, to make sure that it is possible to use official image on architectures different from linux/amd64.

ARolek commented 10 months ago

@manastyretskyi yep let's do it! I was actually thinking about this exact update yesterday. If you want to send in the CI update I will give it a review. Here's the GH Action we should leverage: https://github.com/docker/setup-buildx-action

iwpnd commented 10 months ago

can I propose we move to goreleaser and do all of that for us?

ARolek commented 10 months ago

@iwpnd I haven't used goreleaser but I'm not opposed to it. Adding the buildx action is not that big of a lift though. Do you think it's worth adding goreleaser as a project dependency?

iwpnd commented 10 months ago

ah, forgot to hit send before I was off to vacation.

We could build binaries for all architectures on the spot, add brew and choco while we're at it and also handle different container registries. it also supports automatic changelog, and github release on tag pushes. goreleaser is pretty mature, is well maintained has robust free features and makes your life easier. ultimately it's your choice, but at least give its features a 5 min read. :)