ergochat / ergo

A modern IRC server (daemon/ircd) written in Go.
https://ergo.chat/
MIT License
2.23k stars 178 forks source link

docker build is broken #2071

Closed slingamn closed 1 year ago

slingamn commented 1 year ago

https://github.com/ergochat/ergo/actions/runs/5154767068/jobs/9283612607

I think this is because Alpine 3.13 is EOL? @csmith would you have time to take a look at this? If not I can probably get to it soon.

csmith commented 1 year ago

Hmm, it's failing on the build step which is actually Alpine 3.18 (because that's what golang:1.20-alpine uses).

It looks like the problem is that golang:1.20-alpine contains busybox 1.36.0-r9:

$ syft -q golang:1.20-alpine | grep busybox
busybox                 1.36.0       binary     
busybox                 1.36.0-r9    apk        
busybox-binsh           1.36.0-r9    apk        

But according to the repository 1.36.1-r0 is the current version as of ~24 hours ago. The packages we're trying to install transitively depend on busybox, and apk is unhappy because of the conflict in versions.

I guess if the golang:1.20-alpine isn't rebuilt when packages are changed, then the ergo Dockerfile needs to do a apk upgrade before trying to install anything.

slingamn commented 1 year ago

Thanks so much! I remember now that we cannot safely upgrade beyond 3.13 for the actual production image, because of the faccessat2(2) issue: #1726