Open3

Github Actions で node 環境をセットアップ

rena-hrena-h

actions/setup-node@v2 を使う場合

https://github.com/actions/setup-node#usage

- uses: actions/setup-node@v2
  with:
    node-version: '14'
    cache: npm

cache: npm で 依存関係のキャッシュをしてくれるようになっている
https://github.blog/changelog/2021-07-02-github-actions-setup-node-now-supports-dependency-caching/

このような node_module をキャッシュする記述が不要になった

-  name: cache node module
   uses: actions/cache@preview
   with:
      path: node_modules
      key: ${{ runner.os }}-node-${{ hashFiles('ほげほげ.package.json') }}
rena-hrena-h

actions/setup-node@v1 を使う場合で...

node version は 14.x 、 npm veersion は 7.x にしたい時どうするか

今開発しているもので、GithubActions の workflow では actions/setup-node@v1 が使われている場合があると思う。こんな感じで👇

    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

=> これだと、npm の version は 6.x になる。

これを 7.x にしたい!

with option に npm version 指定できるものがあるのかと思いきや、その option はない。

npm_version option で npm 7.x をサポートしないか?という issue もある
https://github.com/actions/setup-node/issues/213

だがこのissueはまだOpenのままで、「npm 7 を install してくれ」という議論になっていた

    - name: npm 7
      run: npm i -g npm@7 --registry=https://registry.npmjs.org

ので、結果的にはこうなることに

    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: 14.x
      - name: npm 7
        run: npm i -g npm@7 --registry=https://registry.npmjs.org
      - name: cache node module
        uses: actions/cache@preview
        with:
          path: node_modules
          key: ${{ runner.os }}-node-${{ hashFiles('ほげほげ.package.json') }}