mjl blog
March 19th 2020

Goreleases: package for installing go toolchains

Through the golang issue tracker I recently stumbled upon the JSON-mode of Go download page: https://golang.org/dl/?mode=json&include=all.

Quite useful for build server software that wants to allow builds (of your software) with new Go releases quickly (and automatedly), but also for installing historic toolchain versions. I wanted it for https://github.com/mjl-/ding. I normally just fetch and extract the release .tgz myself. But I’m getting more and more instances of it running, and it’s getting boring.

I looked around for an existing go module/package that would first list releases, and then download, verify and extract a Go toolchain .tgz to a certain directory, but couldn’t find it. So I wrote one: https://github.com/mjl-/goreleases. Feedback welcome!