はじめに GoでCLIをよく作る身として、 どのように素晴らしいリリースフローを構築するか に心を砕いています。 2019年末にリリースされたGitHub Actionsがすっかり成熟し、GitHub Container Repository(β)もお目見えとなった2020年も暮れを迎えたところで、新たなリリースフロー構築を検討し、一定の結論を得ましたので、少しでもGophersのたすけになることを願って、記事として公開します。 背景 実現したい「リリース」 クロスコンパイルしたバイナリでの配布 Goでツールを作ることで、クロスコンパイルの手軽さによって、様々な環境で、ダウンロードすればすぐに実行できるバイナリでの配布が可能です。 $ curl -O bin.tar.gz https://github.com/kyoh86/gogh/releases/download/v1.7.1/gog