В заметке я подготовил несколько сниппетов кода для быстрого включения кеширования в Github Actions.
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.