GitHub Actionsのgradle buildをキャッシュを使って速くしてみる
GitHubを利用しているとActionsの無料枠(ビルド時間)があります。
出来るだけビルド時間を短くして回数を使えるように依存関係のキャッシュの機能を利用してみることにしました。
ymlファイルにgradleのキャッシュを記述する
以下を参考にしてトライ!!
https://github.com/actions/cache
こんな感じ
balnk.yml
name: CI_Cache
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
# Checking out
- uses: actions/checkout@v1
# Using caches ←このセクションがキャッシュ
- uses: actions/cache@v1
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
# Setting up JDK
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
# The following generates a debug APK
- name: Build with Gradle
run: ./gradlew assembleDebug
実際に速くなったのか検証してみる
キャッシュなしの場合
キャッシュありの場合
ビルド時間は 1m 6s
キャッシュがリストアされているのが分かりますね
まとめ
キャッシュありの方が40秒速い。
この後、何度かキャッシュありとなしで試行してみましたが、キャッシュありの方が早いのでおそらく正しく使えているんだろうという結論。