TL;DR
- GitHub Actionsでnodeのキャッシュを行う
- actions/cache を使用せずに
actions/setup-node
のみで完結させる
概要
なんとなく actions/setup-node
にnode v22が気てないか気になって見てみたらcache機構が備わっていたので試したら動いた次第
Version
- actions/setup-node
- v4.0.2
- node-version
- 20
How to
GitHub Actionsのyaml
.github/workflows/cache.yml
name: Caching with npm on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' # cacheにパッケージマネージャーを指定することでキャッシュしてくれる。 - run: npm ci - run: npm list
所感
厳密なcacheをしたい場合は actions/cache
の方が有利なように思えるものの、カジュアルにキャッシュするだけなら有用に感じました。
GitHub Actionsのキャッシュは使用されていない場合自動削除されますし、同一のブランチでActionsを何度も回したりpackageの更新が頻発しない場合は選択肢の一つかなと思います。