Closed tianon closed 1 year ago
There's the QEMU bug :sob:
https://github.com/tianon/gosu/actions/runs/3736167285/jobs/6340182931#step:4:457
(it hangs indefinitely in whatever this failure mode is, hence all the timeout
invocations)
There we go, there's our MIPS failure! https://github.com/tianon/gosu/actions/runs/3736241126/jobs/6340334082#step:4:10830
A nice benefit of container-based builds: we can just apply that upstream patch to our Go sources during build and the bug is now fixed. :joy:
The mips64le
binary is also affected in the Bookworm package since it used Go 1.19
for building. 😢 https://packages.debian.org/bookworm/gosu https://packages.debian.org/bookworm/golang.
(Just to post this somewhere since fixing it in Debian Bookworm would be unlikely since it would need a patch applied to the golang
package to fix it but also no one has really noticed 🙈)
As now noted on https://github.com/tianon/gosu/releases/tag/1.15, our new releases are affected by https://github.com/golang/go/issues/56426, which is broken in Go 1.18+ and not fixed until Go 1.20. :disappointed:
This is an attempt to pre-test for that via QEMU user-mode emulation and actually testing our end binaries (because this reproduces the failure).
Another failure that I think this is also going to run into is that from Go 1.18+ it seems our binaries now often hang in QEMU user-mode emulation (most reliably on ARM), so that's fun.