Stale Go buildchain under Docker
Summary
Go buildchain available under Docker is fatally out of date.
Steps to reproduce
Write a CI job that include the command "go versin". Observe that it reports 1.3.3
Example Project
You can observe this bug in the pipeline logs for the reposurgeon project. Look for this:
go version go1.3.3 linux/amd64
GOPATH=/builds/esr/reposurgeon go get -u golang.org/x/crypto/ssh/terminal
# golang.org/x/sys/unix
src/golang.org/x/sys/unix/env_unix.go:30: undefined: syscall.Unsetenv
src/golang.org/x/sys/unix/ioctl.go:18: undefined: runtime.KeepAlive
src/golang.org/x/sys/unix/ioctl.go:28: undefined: runtime.KeepAlive
Makefile:62: recipe for target 'gosetup' failed
make: *** [gosetup] Error 2
ERROR: Job failed: exit code 1What is the current bug behavior?
Code valid under Go 1.10 fails to link due to sale library.
What is the expected correct behavior?
The CI job should have priceeded to an end-to-end test of the code.
Relevant logs and/or screenshots
go version go1.3.3 linux/amd64
GOPATH=/builds/esr/reposurgeon go get -u golang.org/x/crypto/ssh/terminal
# golang.org/x/sys/unix
src/golang.org/x/sys/unix/env_unix.go:30: undefined: syscall.Unsetenv
src/golang.org/x/sys/unix/ioctl.go:18: undefined: runtime.KeepAlive
src/golang.org/x/sys/unix/ioctl.go:28: undefined: runtime.KeepAlive
Makefile:62: recipe for target 'gosetup' failed
make: *** [gosetup] Error 2
ERROR: Job failed: exit code 1Output of checks
This bug happens on GitLab.com
Possible fixes
Upgrade to a recent version of Golang. 1.10 is out in major distributions now.
Edited  by Eric S. Raymond