【Scala】GithubActionsでキャッシュを使う

概要

GithubActionsのフローで実行毎にsbtとライブラリのダウンロードが走って時間食うので
キャッシュを使おう!

サンプル

build.sbtの変更がない限り、使用ライブラリは変わらないだろうということを利用して、
ライブラリのキャッシュが入っているフォルダ~/.ivy2とsbt関連のフォルダ~/.sbt
をキャッシュします

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - uses: actions/cache@v1
      with:
        path: ~/.ivy2/cache
        key: |
          v1-dependencies--${{ hashFiles('**/build.sbt') }}
        restore-keys: |
          v1-dependencies-${{ hashFiles('**/build.sbt') }}
          v1-dependencies-
    - uses: actions/cache@v1
      with:
        path: ~/.sbt
        key: |
          v1-sbt--${{ hashFiles('**/build.sbt') }}
        restore-keys: |
          v1-sbt-${{ hashFiles('**/build.sbt') }}
          v1-sbt-
    - name: Set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
    - name: Run tests
      run: cat /dev/null | sbt test:test

効果

2分45秒 → 2分15秒

自分流ですがダウンロードがなくなって早くなった!

もっと早くなる方法あったら教えてください^^

コメント

タイトルとURLをコピーしました