👋
【GitHub Actions】setup-goでgo-versionを指定するときはstringで指定しよう
対象者
- GitHub Actionsのymlファイルで、setup-goのgo-versionを指定する方
- 特にgo-versionを1.20に上げたい方
setup-goについて
まず、setup-goについて
This action sets up a go environment for use in actions by:
- Optionally downloading and caching a version of Go by version and adding to PATH.
- Registering problem matchers for error output.
要は、GitHub Actions内でgoの環境をつくってくれるやつです。
setup-goを使う上で、go-versionを以下のように指定できます。
- 文字列
steps:
...
- uses: actions/setup-go@v4
with:
go-version: '1.20'
...
- 数値
steps:
...
- uses: actions/setup-go@v4
with:
go-version: 1.20
...
本題
上記のようにgo-versionを文字列でも数値でも指定できるのですが、文字列で指定するようにしましょう。
特に、go-versionを1.20に上げたい場合は注意が必要です。
setup-goはJavaScriptで動いており、go-versionに指定された値を読み取る際に、小数点以下の末尾の0は省略されてしまいます。
console.log((1.20).toString())
> '1.2'
つまり、上記の2. 数値
は、1.20ではなく 1.2と解釈されてしまうので注意が必要です。
末尾に0がない場合は正常に解釈されますが、このようなケースもあるため、日頃から文字列で指定する習慣をつけておくと良さそうです!
Discussion