Open3
Github Actions で node 環境をセットアップ
actions/setup-node@v2
を使う場合
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: npm
cache: npm
で 依存関係のキャッシュをしてくれるようになっている
このような node_module をキャッシュする記述が不要になった
- name: cache node module
uses: actions/cache@preview
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('ほげほげ.package.json') }}
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 もある
だがこの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') }}
actions/setup-node@v1
→ actions/setup-node@v2
Migrating
actions/setup-node@v2
で新しくなったもの
- Checkout pull request on closed event
- Push a commit using the built-in token
などいろんなシナリオの例が記載されている