🤖

actions/setup-goでgo.modを参照してGoのバージョン利用する

2022/09/07に公開

概要

教えて貰ったのでメモ。

Github Actions で actions/setup-go で利用する Go を準備していました。利用する Go のバージョンを設定ファイルに記載していましたが、利用する Go のバージョンが変わったときにこの設定も変えるのは面倒でした。

actions/setup-go には特定のバージョンをバシッと設定する方法と、利用している go.mod から Go のバージョンを決めてくれる方法があります。

go.mod から Go のバージョンを決めるようにしておけば、利用する Go のバージョンを変更し忘れて古くなってしまうということもなくなります。

go.mod ファイルから Go のバージョンを設定する

解説があります。

steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
  with:
    go-version-file: 'path/to/go.mod'
- run: go version

path/to/go.mod はリポジトリのルードに go.mod があれば、単に go.mod と書いておけばいいです。例えば、go.mod に指定されているバージョンが 1.18 である場合は、その時点でパッチバージョンが最新のものが version-manifest.json から選ばれます。

ちなみに、go-versiongo-version-file の両方が設定されている場合は、go-version が優先されます。

Happy hacking!

Discussion