decred / dcrd

Decred daemon in Go (golang).
https://decred.org
ISC License
733 stars 289 forks source link

docker: Update image to golang:1.23.1-alpine3.20. #3440

Closed davecgh closed 6 days ago

davecgh commented 1 week ago

This updates the docker image to golang:1.23.1-alpine3.20.

To confirm the new digest:

$ docker pull golang:1.23.1-alpine3.20
1.23.1-alpine3.20: Pulling from library/golang
...
Digest: sha256:ac67716dd016429be8d4c2c53a248d7bcdf06d34127d3dc451bda6aa5a87bc06
...
jholdstock commented 1 week ago

https://hub.docker.com/layers/library/golang/1.23.1-alpine3.20/images/sha256-bdf2cf7673ae407996f6186a9f2a83899b8da8608417474ff246b65fe382d2cc?context=explore

seems to have been updated 2 hours ago

davecgh commented 1 week ago

Thanks for double checking! I'll wait a couple of days and pull again. I waited a day already to let it stabilize, but looks like it wasn't long enough.

jrick commented 1 week ago

does anyone have any idea how these images differ?

this seems to come up every time a new go version comes out

davecgh commented 1 week ago

It happens because the builds are still ongoing and they're multi-platform image builds. So, every time a new arch/plat pair gets done building, the image index hash changes even though the actual linux/amd64 image we use doesn't change.

You can see it by comparing the e.g. linux/amd64 and linux/386 and noting the "Index digest" at the top is the same.

It's kind of annoying that Docker does it that way and I don't really know why it does since I've never really followed it very much, but I suspect it's because it originally did not support multi-platform builds and support for them was probably shoehorned into the already existing ecosystem that relied on them by that point.

davecgh commented 1 week ago

I've updated this to the latest. It looks like all of the builds are done now as the latest hash hasn't changed in a couple of days.