Github Actions кеширование зависимостей


Github Actions поддерживает кеширование файлов, это позволяет кешировать зависимости и ускорить сборку проекта.

Статья из моего telegram канала: Senior’s Blog. Подписывайтесь на канал ;-)

Github Actions умеет кешировать файлы. Например, вот так можно кешировать Gradle Wrapper и зависимости приложения, в результате они не будут скачиваться при каждой сборке:

# Cache Gradle dependencies
- name: Setup Gradle Dependencies Cache
  uses: actions/cache@v2
  with:
    path: ~/.gradle/caches
    key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}

# Cache Gradle Wrapper
- name: Setup Gradle Wrapper Cache
  uses: actions/cache@v2
  with:
    path: ~/.gradle/wrapper
    key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}

JVM

В случае если вы используете actions/setup-java, то его вторая версия уже поддерживает кеширование завивисимостей и враперов, достаточно ее включить:

  - name: Set up JDK
    uses: actions/setup-java@v2
    with:
      distribution: zulu
      java-version: 11
      cache: gradle

Поддерживается gradle и maven.

Кеширование зависимостей существенно ускоряет сборку проекта.

Подробнее в офф документации