emahiro/b.log

日々の勉強の記録とか育児の記録とか。

actions/setup-go で Go のバージョンを指定する

actions/setup-go は Go のバージョンを指定しないとデフォルトで Go1.20 が使われているっぽい挙動に出くわしたので Go のバージョンを指定する方法のメモ。

github.com

気づいたきっかけは local で使用してる Go のバージョンと CI (GitHub Actions 上)で使用してる Go のバージョンがズレていると、setup-go が落ちる、という事象に出くわしたこと。

Go のバージョン指定方法は公式の Readme に書いてあるとおり。

https://github.com/actions/setup-go?tab=readme-ov-file#basic

go-version というディレクティブに利用したい Go のバージョンを記載すれば良い。

ただこれだと CI を 2つ以上動かしているときに Go のバージョンが上がる度毎回 CI の設定ファイルを更新する必要があり、漏れが発生しやすい。
go.mod を利用するオプションがあるのでこちらを利用しておくと local で利用してる Go のバージョンと CI で利用する Go のバージョンをあわせる事ができそう。

ドキュメントとしては以下に記載してある内容。

https://github.com/actions/setup-go?tab=readme-ov-file#getting-go-version-from-the-gomod-file