stefafafan の fa は3つです

"すてにゃん" こと id:stefafafan のブログです

GitHub Actions の setup-go や setup-node で指定されるバージョンを go.mod や .node-version から取ってくる

たとえばGoで書かれているプロダクトのCIをGitHub Actionsでやっていて、Goのバージョンがあがるたびにこのファイルを毎回ちまちま更新しているとあまり面白味のない作業になってしまう。最近だとGo 1.18 から 1.19 にあげるときに以下の go-version に書いてる数字を 1.19 にあげる必要があった。

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
    with:
      go-version: 1.18
  - run: go version

actions/setup-go@v3.1.0 からは go-version-filego.mod のパスを指定することによってそこからバージョンを取得して使ってくれるようになった。便利。 .go-version にも対応しているようです。
github.com

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

同じように、actions/setup-node@v2.5.0 からは node-version-file を指定できるようになっている。
github.com

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-node@v2
    with:
      node-version-file: ".node-version"
  - run: npm install

node-version-file.nvmrc.tool-versions にも対応しているようだった。
github.com